PlaCoR: plataforma para a computação orientada ao recurso

Detalhes bibliográficos
Autor(a) principal: Ribeiro, Bruno Manuel Gonçalves
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/1822/66578
Resumo: Dissertação de mestrado integrado em Engenharia Informática
id RCAP_d1d23fdd10184218bf7d763bf4c89682
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/66578
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling PlaCoR: plataforma para a computação orientada ao recursoEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado integrado em Engenharia InformáticaA Plataforma para a Computação orientada ao Recurso (PlaCoR) foi desenhada como um ambiente de programação e execução de aplicações baseadas no modelo da computação orientada ao recurso (CoR), especificado em CoRes, integralmente escrito em C++ Moderno. A escolha do C++ trouxe enormes vantagens, no suporte à: i) programação orientada aos objetos, através da herança múltipla (na construção dos recursos); ii) programação genérica (permitindo abstrair na API as diferentes classes de recursos); iii) programação concorrente (para tirar partido de fios de execução e estruturas de sincronização nativas ao C++). A plataforma possui facilidades para: i) comunicação inter-domínios, ii) passagem de mensagens entre recursos comunicantes, iii) memória partilhada distribuída (DSM), iv) ativação remota de fios de execução (RPC), v) criação e gestão de recursos e vi) gestão da consistência entre todas as réplicas de um recurso. Atualmente, o desenho de aplicações CoR assenta nos recursos domínio, grupo, clausura, agente, proto-agente, dado, barreira, guarda e guarda para leituras/escritas. Os domínios estabelecem o primeiro nível de concorrência/paralelismo, quer sejam criados no início da aplicação ou lançados dinamicamente. Os agentes, pelo seu lado, estão associados ao grão fino de paralelismo e de comunicação por passagem de mensagens. O domínio, o grupo e a clausura são recursos estruturados que disponibilizam operações de adesão/saída de recursos; distingue-os o facto dos dois primeiros serem dinâmicos enquanto a clausura é estática, na medida em que as operações de adesão/saída são coletivas e o número total de membros é fixado inicialmente - características necessárias para o arranque paralelo de aplicações do tipo SPMD e a passagem de mensagens intra-clausura. A guarda é usada para a criação de zonas de exclusão mútua distribuídas (leituras/escritas), a barreira para a sincronização entre agentes, enquanto o dado contempla os mecanismos de memória partilhada distribuída, usado para disponibilizar os dados do utilizador num ambiente de domínios distribuídos. A avaliação da plataforma tomou como exemplo de aplicação a leitura e processamento de eventos registados em TTree, recorrentemente usados na experiência ATLAS. As várias versões desenvolvidas justificaram a criação de um módulo específico, a unidade Pool, que realiza o modelo fork-join. O experimento confirmou a viabilidade da orientação ao recurso como paradigma de programação híbrido que integra múltiplos fios de execução e sincronização distribuída, com facilidades de comunicação de grão fino para a passagem de mensagens e de comunicação em contextos seguros, o acesso remoto a memória e a ativação remota de agentes.The Resource-Oriented Computing Platform (PlaCoR) was designed as an application programming and execution environment based on the resource-oriented computing (CoR) model, specified in CoRes, fully written in Modern C++. The choice of C++ brought enormous advantages, in support to: i) object-oriented programming through multiple inheritance (in the construction of resources); ii) generic programming (allowing to abstract in the API the different classes of resources); iii) concurrent programming (to take advantage of run-time threads and synchronization structures native to C++). The platform has facilities for: i) inter-domain communication, ii) message passing between communicating resources, iii) distributed shared memory (DSM), iv) remote activation of execution threads (RPC), v) creation and management of resources and vi) consistency management among all replicas of a resource. Currently, the design of CoR applications relies on the resources domain, group, closure, agent, proto-agent, data, barrier, guard and read/write guard. The domains establish the first level of concurrency/parallelism, whether created at the beginning of the application or dynamically launched. Agents, for their part, are associated with the fine grain of parallelism and communication by message passing. The domain, the group and the closure are structured resources that provide join/leave operations of resources; the first two are dynamic while the closure is static, the later meaning that the join/leave operations are collective and the total number of members is fixed initially - characteristics necessary for the parallel start of SPMD-type applications and intraclosure message passing. The guard is used to create distributed mutual exclusion zones (read/write), the barrier for agent synchronization, while the data comprises distributed shared memory mechanisms, used to make the user’s data available in a distributed domain environment. The evaluation of the platform took as an application example the reading and processing of events registered in TTree, recurrently used in the ATLAS experience. The various versions developed justified the creation of a specific module, the Pool unit, which performs the fork-join model. The experiment confirmed the feasibility of resource orientation as a hybrid programming paradigm that integrates multiple threads of execution and distributed synchronization, with fine grain communication facilities for message passing and communication in secure contexts, remote access to memory and remote activation of agents.Este trabalho foi financiado pelo LIP, Laboratório de Instrumentação e Física Experimental de Partículas, através da bolsa de investigação com a referência LIP/BI-16/2018 FCT, COMPETE2020-Portugal2020, FEDER, POCI-01-0145-FEDER-007334, no âmbito do projeto BigData POCI/01-0145-FEDER-029147 PTDC/FIS-PAR/29147/2017, financiado por fundos OE/FCT, Lisboa2020, Compete2020, Portugal 2020, FEDER.Pina, António Manuel SilvaCastro, Nuno FilipeUniversidade do MinhoRibeiro, Bruno Manuel Gonçalves20192019-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/1822/66578por202503224info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:15:10Zoai:repositorium.sdum.uminho.pt:1822/66578Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:07:36.198927Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv PlaCoR: plataforma para a computação orientada ao recurso
title PlaCoR: plataforma para a computação orientada ao recurso
spellingShingle PlaCoR: plataforma para a computação orientada ao recurso
Ribeiro, Bruno Manuel Gonçalves
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short PlaCoR: plataforma para a computação orientada ao recurso
title_full PlaCoR: plataforma para a computação orientada ao recurso
title_fullStr PlaCoR: plataforma para a computação orientada ao recurso
title_full_unstemmed PlaCoR: plataforma para a computação orientada ao recurso
title_sort PlaCoR: plataforma para a computação orientada ao recurso
author Ribeiro, Bruno Manuel Gonçalves
author_facet Ribeiro, Bruno Manuel Gonçalves
author_role author
dc.contributor.none.fl_str_mv Pina, António Manuel Silva
Castro, Nuno Filipe
Universidade do Minho
dc.contributor.author.fl_str_mv Ribeiro, Bruno Manuel Gonçalves
dc.subject.por.fl_str_mv Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado integrado em Engenharia Informática
publishDate 2019
dc.date.none.fl_str_mv 2019
2019-01-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/1822/66578
url http://hdl.handle.net/1822/66578
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv 202503224
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799132495055159296