Browsing by Author "Lima, Joubert de Castro"
Now showing 1 - 20 of 21
Results Per Page
Sort Options
Item Big high-dimension data cube designs for hybrid memory systems.(2020) Silva, Rodrigo Rocha; Hirata, Celso Massaki; Lima, Joubert de CastroIn Big Data cubes with hundreds of dimensions and billions of tuples, the indexing and query operations are a challenge and the reason is the time-space exponential complexity when a full cube is computed. Therefore, solutions based on RAM may not be practical and the solutions based on hybrid memory (RAM and disk) become viable alternatives. In this paper, we propose a hybrid approach, named bCubing, to index and query high-dimension data cubes with high number of tuples in a single machine and using RAM and disk memory systems. We evaluated bCubing in terms of runtime and memory consumption, comparing it with the Frag-Cubing, HIC and H-Frag approaches. bCubing showed to be faster and used less RAM than Frag-Cubing, HIC and H-Frag. bCubing indexed and allowed to query a data cube with 1.2 billion tuples and 60 dimensions, consuming only 84 GB of RAM, which means 35% less memory than HIC. The complex holistic measures mode and median were computed in multidimensional queries, and bCubing was, on average, 50% faster than HIC.Item Busca adaptativa em grandes vizinhanças aplicada à minimização da largura de corte em grafos.(2018) Santos, Vinícius Gandra Martins; Carvalho, Marco Antonio Moreira de; Carvalho, Marco Antonio Moreira de; Souza, Marcone Jamilson Freitas; Santos, André Gustavo dos; Lima, Joubert de CastroO problema de Minimização da Largura de Corte em Grafos (ou CMP, do inglês Cutwidth Minimization Problem) consiste em determinar um leiaute linear para um grafo de forma a minimizar a quantidade máxima de arestas que cruzam cada par de vértices consecutivos. Esse problema pode ser encontrado no projeto de circuitos integrados de larga escala, no desenho de diagramas de grafos e no projeto de compiladores, entre outros. O CMP é um problema NP-Difícil e se apresenta como um desafio para métodos exatos e heurísticas. Neste trabalho, é reportada pela primeira vez na literatura a aplicação do método metaheurístico Busca Adaptativa em Grandes Vizinhanças (Adaptive Large Neighborhood Search) para solução do CMP. Os experimentos computacionais envolvem 11.786 instâncias de quatro conjuntos da literatura e os resultados encontrados são comparados com o atual estado da arte. O método proposto se mostra competitivo, sendo capaz de igualar a maioria dos resultados comprovadamente ótimos e melhores resultados conhecidos, além de melhorar alguns resultados que não foram provados ótimos e encontrar pela primeira vez limitantes superiores para instâncias não resolvidas.Item Dynamic topic herarchies and segmented rankings in textual OLAP technology.(2017) Souza, Adriano Neves de Paula e; Lima, Joubert de Castro; Lima, Joubert de Castro; Fortes, Reinaldo Silva; Ciferri, Ricardo Rodrigues; Silva, Rodrigo RochaA tecnologia OLAP tem se consolidado há 20 anos e recentemente foi redesenhada para que suas dimensões, hierarquias e medidas possam suportar as particularidades dos dados textuais. A tarefa de organizar dados textuais de forma hierárquica pode ser resolvida com a construção de hierarquias de tópicos. Atualmente, a hierarquia de tópicos é definida apenas uma vez no cubo de dados, ou seja, para todo o \textit{lattice} de cuboides. No entanto, tal hierarquia é sensível ao conteúdo da coleção de documentos, portanto em um mesmo cubo de dados podem existir células com conteúdos completamente diferentes, agregando coleções de documentos distintas, provocando potenciais alterações na hierarquia de tópicos. Além disso, o segmento de texto utilizado na análise OLAP também influencia diretamente nos tópicos elencados por tal hierarquia. Neste trabalho, apresentamos um cubo de dados textual com múltiplas e dinâmicas hierarquias de tópicos. Múltiplas por serem construídas a partir de diferentes segmentos de texto e dinâmicas por serem construídas para cada célula do cubo. Outra contribuição deste trabalho refere-se à resposta das consultas multidimensionais. O estado da arte normalmente retorna os top-k documentos mais relevantes para um determinado tópico. Vamos além disso, retornando outros segmentos de texto, como os títulos mais significativos, resumos e parágrafos. A abordagem é projetada em quatro etapas adicionais, onde cada passo atenua um pouco mais o impacto da construção de várias hierarquias de tópicos e rankings de segmentos por célula de cubo. Experimentos que utilizam parte dos documentos da DBLP como uma coleção de documentos reforçam nossas hipóteses.Item Dynamic topic hierarchies and segmented rankings in textual OLAP technology.(2017) Souza, Adriano Neves de Paula e; Fortes, Reinaldo Silva; Lima, Joubert de CastroThe OLAP technology emerged 20 years ago and recently has been redesigned so that its dimensions, hierarchies and measures can support the particularities of textual data. Organizing textual data hierarchically can be solved with topic hierarchies. Currently, the topic hierarchy is defined only once in the data cube, i.e., for the entire lattice of cuboids. However, such hierarchy is sensitive to the document collection content. Thus, a data cube cell can contain a collection of documents distinct from others in the same cube, causing potential changes in the topic hierarchy. Furthermore, the text segment used in OLAP analysis also changes this hierarchy. In this work, we present a textual data cube with multiple dynamic topic hierarchies for each cube cell. Multiple hierarchies, since the presented approach builds a topic hierarchy per text segment. Another contribution of this work refers to query response. The state-of-the-art normally returns the top-k documents to the topic selected in the query. We go beyond by returning other text segments, such as the most significant titles, abstracts and paragraphs. The approach is designed in four additional steps and each step attenuates a bit more the impact of building multiple topic hierarchies and segmented rankings per cube cell. Experiments using part of the DBLP papers as a document collection reinforce our hypotheses.Item A general-purpose distributed computing Java middleware.(2019) Almeida, André Luís Barroso de; Cimino, Leonardo de Souza; Resende, José Estevão Eugênio de; Silva, Lucas Henrique Moreira; Rocha, Samuel Queiroz Souza; Gregorio, Guilherme Aparecido; Paiva, Gustavo Silva; Silva, Saul Emanuel Delabrida; Santos, Haroldo Gambini; Carvalho, Marco Antonio Moreira de; Aquino, André Luiz Lins de; Lima, Joubert de CastroThe middleware solutions for General‐Purpose Distributed Computing (GPDC) have distinct requirements, such as task scheduling, processing/storage fault tolerance, code portability for parallel or distributed environments, simple deployment (including over grid or multi‐cluster environments), collaborative development, low code refactoring, native support for distributed data structures, asynchronous task execution, and support for distributed global variables. These solutions do not integrate these requirements into a single deployment with a unique API exposing most of these requirements to users. The consequence is the utilization of several solutions with their particularities, thus requiring different user skills. Besides that, the users have to solve the integration and all heterogeneity issues. To reduce this integration gap, in this paper, we present Java Cá&Lá (JCL), a distributed‐shared‐memory and task‐oriented lightweight middleware for the Java community that separates business logic from distribution issues during the development process and incorporates several requirements that were presented separately in the GPDC middleware literature over the last few decades. JCL allows building distributed or parallel applications with only a few portable API calls, thus reducing the integration problems. Finally, it also runs on different platforms, including small single‐board computers. This work compares and contrasts JCL with other Java middleware systems and reports experimental evaluations of JCL applications in several distinct scenarios.Item GeoCube : representação, computação, e visualização de cubos espaciais.(2012) Rocha, Tárik de Melo e Silva; Lima, Joubert de Castro; Carneiro, Tiago Garcia de Senna; Lisboa Filho, Jugurta; Pereira Junior, Álvaro Rodrigues; Santos, Haroldo GambiniA tecnologia SOLAP (Spatial On-Line Analytical Processing) oferece a junção das funcionalidades OLAP (Online Analytical Processing ) e SIG (Sistema de Informação Geográfica) e abre caminho para uma nova categoria de aplicações que fornecem suporte a manipulação, processamento e navegação em dados espaço-temporais organizados hierarquicamente. Os dados em um sistema OLAP são armazenados como cubos e estes são organizados segundo o conceito de dimensões, medidas e hierarquias. A materialização de um cubo de dados possui ordem de complexidade exponencial em relação ao consumo de memória e tempo de execução. Quando associamos informações espaciais ao cubo, a demanda de memória e processamento aumenta, tornando mais difícil a tarefa de oferecer respostas rápidas ao usuário. Atualmente, poucos trabalhos foram publicados na representação, computação e consulta de cubos espaço-temporais completos. As técnicas apresentadas como materialização seletiva, materialização baseada em aproximações e estruturas para indexação de regiões não oferecem soluções para computação de cubos completos e muitas vezes não podem ser aplicadas para uma grande variedade de funções de agregação espaciais. Arquiteturas de computadores baseadas em endereçamento compartilhado também não são utilizadas nos trabalhos correlatos. Nos trabalhos correlatos as hierarquias são especificadas manualmente por especialistas do domínio e muitas vezes as soluções limitam a quantidade e a variedade de medidas espaciais e não espaciais no cubo. Diante de tal cenário, é proposta uma abordagem para representação, computação e vi consulta de cubos espaço-temporais completos ou parciais, chamada GeoCube. A abordagem GeoCube pode ser executada em máquinas com múltiplos núcleos de processamento. Múltiplas funções de agregação espacial e estatística podem ser combinadas. Também é proposta uma abordagem para formação automática de hierarquias através de regras de vizinhança entre seus objetos espaciais. As regras de vizinhança podem ser definidas pelo usuário e executadas pelo GeoCube. O GeoCube já possui vizinhança nxn, onde n>1. Testes comparativos com um sistema implementado usando PostGIS e vistas materializadas mostram que a GeoCube consegue computar cubos de dados espaciais em até 1/6 do tempo gasto pela tecnologia PostGis em uma máquina com 8 núcleos de processamento.Item A high performance Java middleware for general purpose computing and capacity planning.(2016) Almeida, André Luís Barroso de; Lima, Joubert de Castro; Lima, Joubert de Castro; Oliveira, Ricardo Augusto Rabelo; Costa, Fábio MoreiraMiddlewares ou Frameworks são fundamentais no desenvolvimento de aplicações distribuídas devido a complexidade das mesmas. Muitas soluções foram propostas nas últimas três décadas de melhorias e a linguagem Java faz parte destes esforços. A comunidade Java é enorme e a linguagem oferece suporte para computação de alto desempenho (HPC), assim como para plataformas de pequeno porte, tais como as adotadas para IoT. Os middlewares Java para HPC implementam funcionalidades, tais como escalonamento de processos, tolerância a falhas, portabilidade de código, instalação simplificada em grandes clusters, desenvolvimento colaborativo na pilha de serviços em nuvem, execução de código existente sem refatoração, suporte a estruturas de dados distribuídas e nativas, execução de tarefas de forma assíncrona no cluster, suporte a criação de variáveis globais distribuídas, conceito de super-pares e muitas outras melhorias. Infelizmente, tais funcionalidades nunca foram reunidas em uma API única de uma solução de middleware simples e rápida. Neste trabalho, é apresentado o Java Cá&Lá ou simplesmente JCL, um middleware para desenvolvedores Java que adota computação reflexiva e possui modelo de programação baseado em endereçamento compartilhado e distribuído. O JCL reúne diversas funcionalidades apresentadas separadamente nas últimas décadas, permitindo construir aplicações paralelas ou distribuídas a partir de poucas instruções portáveis e sendo capaz de ser executado sobre diferentes plataformas, incluindo as IoT. Este trabalho apresenta as funcionalidades e a arquitetura do JCL, compara e contrasta JCL e seus concorrentes, e apresenta resultados experimentais de aplicações JCL.Item A Java middleware for High Performance Computing (HPC) and Internet of Things (IoT).(2017) Cimino, Leonardo de Souza; Lima, Joubert de Castro; Lima, Joubert de Castro; Aquino, André Luiz Lins de; Costa, Fábio Moreira; Almeida, André Luís Barroso deItem JSensor : a parallel simulator for huge wireless sensor networks applications.(2019) Silva, Matheus Leônidas; Santos Júnior, Lincoln N.; Aquino, André Luiz Lins de; Lima, Joubert de CastroThis paper presents JSensor, a parallel general purpose simulator which enables huge simulations of Wireless Sensor Networks applications. Its main advantages are: i) to have a simple API with few classes to be extended, allowing easy prototyping and validation of WSNs applications and protocols; ii) to enable transparent and reproducible simulations, regardless of the number of threads of the parallel kernel; and iii) to scale over multi-core computer architectures, allowing simulations of more realistic applications. JSensor is a parallel event-driven simulator which executes according to event timers. The simulation elements, nodes, application, and events, can send messages, process task or move around the simulated environment. The mentioned environment follows a grid structure of extensible spatial cells. The results demonstrated that JSensor scales well, precisely it achieved a speedup of 7.45 with 16 threads in a machine with 16 cores (eight physical and eight virtual cores), and comparative evaluations versus OMNeT++ showed that the presented solution could be 43 times faster.Item A middleware solution for integrating and exploring IoTand HPC capabilities.(2019) Cimino, Leonardo de Souza; Resende, José Estevão Eugênio de; Silva, Lucas Henrique Moreira; Rocha, Samuel Queiroz Souza; Correia, Matheus de Oliveira; Monteiro, Guilherme Souza; Fernandes, Gabriel Natã de Souza; Moreira, Renan da Silva; Silva, Junior Guilherme da; Santos, Matheus Inácio Batista; Aquino, André Luiz Lins de; Almeida, André Luís Barroso de; Lima, Joubert de CastroEven with the considerable advances in the development of middleware solutions, there is still a substantial gap in Internet of Things (IoT) and high‐performance computing (HPC) integration. It is not possible to expose services such as processing, storage, sensing, security, context awareness, and actuating in a unified manner with the existing middleware solutions. The consequence is the utilization of several solutions with their particularities, thus requiring different skills. Besides that, the users have to solve the integration and all heterogeneity issues. To reduce the gap between IoT and HPC technologies, we present the JavaCá&Lá (JCL), a middleware used to help the implementation of distributed user‐applications classified as IoT‐HPC. This ubiquity is possible because JCL incorporates (1) a single application programming interface to program different device categories; (2) the support for different programming models; (3) the interoperability of sensing, processing, storage, and actuating services; (4) the integration with MQTT technology; and (5) security, context awareness, and actions services introduced through JCL application programming interface. Experimental evaluations demonstrated that JCL scales when doing the IoT‐HPC services. Additionally, we identify that customized JCL deployments become an alternative when Java‐Android and vice‐versa code conversion is necessary. The MQTT brokers usually are faster than JCL HashMap sensing storage, but they do not perform distributed, so they cannot handle a huge amount of sensing data. Finally, a short example for monitoring moving objects exemplifies JCL facilities for IoT‐HPC development.Item Multidimensional cyclic graph approach : representing a data cube without common sub-graphs.(2011) Lima, Joubert de Castro; Hirata, Celso MassakiWe present a new full cube computation technique and a cube storage representation approach, called the multidimensional cyclic graph (MCG) approach. The data cube relational operator has exponential complexity and therefore its materialization involves both a huge amount of memory and a substantial amount of time. Reducing the size of data cubes, without a loss of generality, thus becomes a fundamental problem. Previous approaches, such as Dwarf, Star and MDAG, have substantially reduced the cube size using graph representations. In general, they eliminate prefix redundancy and some suffix redundancy from a data cube. The MCG differs significantly from previous approaches as it completely eliminates prefix and suffix redundancies from a data cube. A data cube can be viewed as a set of sub-graphs. In general, redundant sub-graphs are quite common in a data cube, but eliminating them is a hard problem. Dwarf, Star and MDAG approaches only eliminate some specific common sub-graphs. The MCG approach efficiently eliminates all common sub-graphs from the entire cube, based on an exact sub-graph matching solution. We propose a matching function to guarantee one-to-one mapping between sub-graphs. The function is computed incrementally, in a top-down fashion, and its computation uses a minimal amount of information to generate unique results. In addition, it is computed for any measurement type: distributive, algebraic or holistic. MCG performance analysis demonstrates that MCG is 20–40% faster than Dwarf, Star and MDAG approaches when computing sparse data cubes. Dense data cubes have a small number of aggregations, so there is not enough room for runtime and memory consumption optimization, therefore the MCG approach is not useful in computing such dense cubes. The compact representation of sparse data cubes enables the MCG approach to reduce memory consumption by 70–90% when compared to the original Star approach, proposed in [33]. In the same scenarios, the improved Star approach, proposed in [34], reduces memory consumption by only 10–30%, Dwarf by 30–50% and MDAG by 40–60%, when compared to the original Star approach. The MCG is the first approach that uses an exact sub-graph matching function to reduce cube size, avoiding unnecessary aggregation, i.e. improving cube computation runtime.Item PROLES : a customized process applied to software engineering laboratories and Small Business.(2017) Silva, Rodrigo Rocha; Kimura, Fernanda Yuri; Lima, Joubert de Castro; Bernardino, JorgeMost micro and small software development companies do not invest in improving the development-lifecycle processes. Given this, many researchers and software engineers have made proposals for software development processes with lower implementation costs and greater use of human and material resources. In general, it is required that work in academic laboratories be carried out in shorter deadlines, having groups of students practice techniques, such as different methodologies of requirements specification and fast responses to changes, ensuring the assertiveness in the value of deliveries of their projects. In this work, we customized the RUP and adopted Scrum practices, creating a new process called PROLES. PROLES was evaluated in a small company and also in a Software Engineering undergraduate course. PROLES has new particularities that differentiate it from the state of the art, such as a traceability matrix and a reference architecture. Such a matrix is obtained by the reference architecture, serving as a representation of the relationship among requirements and one or more system implementation components. The experimental results prove that PROLES can be adopted as an alternative to a systematic and less-intrusive process.Item qCube : efficient integration of range query operators over a high dimension data cube.(2013) Silva, Rodrigo Rocha; Lima, Joubert de Castro; Hirata, Celso MassakiMany decision support tasks involve range query operators such as Similar, Not Equal, Between, Greater or Less than and Some. Traditional cube approaches only use Equal operator in their summarized queries. Recent cube approaches implement range query operators, but they suffer from dimensionality problem, where a linear dimension increase consumes exponential storage space and runtime. Frag-Cubing and its extension, using bitmap index, are the most promising sequential solutions for high dimension data cubes, but they implement only Equal and Sub-cube query operators. In this paper, we implement a new high dimension sequential range cube approach, named Range Query Cube or just qCube. The qCube implements Equal, Not Equal, Distinct, Sub-cube, Greater or Less than, Some, Between, Similar and Top-k Similar query operators over a high dimension data cube. Comparative tests with qCube and Frag-Cubing use relations with 20, 30 or 60 dimensions, 5k distinct values on each dimension and 10 million tuples. In general, qCube has similar behavior when compared with Frag-Cubing, but it is faster to answer point and inquire queries. Frag-Cubing could not answer inquire queries with more than two Sub-cube operators in a relation with 30 dimensions, 5k cardinality and 10M tuples. In addition, qCube efficiently answered inquire queries from such a relation using six Sub-cube or Distinct operators. In general, complex queries with 30 operators, combining point, range and inquire operators, took less than 10 seconds to be answered byqCube. A massive qCube with 60 dimensions, 5k cardinality on each dimension and 100M tuples answered queries with five range operators, ten point operators and one inquire operator in less than 2 minutes.Item Reconciliação de chaves através de um canal público usando acelerômetros.(2012) Castro, Pedro Henrique Nascimento; Oliveira, Ricardo Augusto Rabelo; Graaf, Jeroen Antonius Maria Van de; Oliveira, Ricardo Augusto Rabelo; Graaf, Jeroen Antonius Maria Van de; Lima, Joubert de Castro; Carneiro, Tiago Garcia de Senna; Santos, Haroldo GambiniA maioria dos sistemas criptográficos se baseiam em chaves para alcançar a segurança desejada. Essas chaves podem ser obtidas a partir de fontes de dados aleatórias. Quanto maior a aleatoriedade, maior é a sua entropia e, consequentemente, a segurança da chave. Uma possível fonte de entropia seriam os dados de um acelerômetro, que é um instrumento de medição da aceleração de um dispositivo nas três dimensões. Desta forma, é possível criar uma conexão segura entre estes dispositivos a partir da similari- dade de movimento dos mesmos. A leitura destes equipamentos não é muito precisa e, além disso, pode sofrer perturbações do meio. Assim, pode-se utilizar os protocolos de reconciliação de chaves para gerar uma chave comum entre os dispositivos, sem compro- meter a segurança. Este trabalho aplica esses protocolos aos dados dos acelerômetros para prover uma chave criptográfica segura.Item Representação e computação de cubos de dados completos ou parciais em clusters de computadores de baixo custo.(Programa de Pós-Graduação em Ciência da Computação. Departamento de Ciência da Computação, Instituto de Ciências Exatas e Biológicas, Universidade Federal de Ouro Preto., 2012) Moreira, Angélica Aparecida; Lima, Joubert de CastroA abordagem PnP (Pipe ’n Prune) é considerada uma das abordagens mais promissoras da literatura para computação de cubos em arquiteturas de computadores com memória distribuída. Infelizmente, a abordagem PnP gera uma enorme quantidade de dados redundantes. No geral, a PnP não considera a uniformidade nos dados, denominada skew. Não considerar o skew no particionamento da carga de trabalho impõe máxima redundância de dados, mesmo com dados uniformes. Diante deste cenário, foi desenvolvida a abordagem P2CDM (acrônimo de Parallel Cube Computation with Distributed Memory), que possui comunicação minimizada e gera redundância de dados sob demanda, dependendo do grau de uniformidade dos dados. Neste sentido, a abordagem P2CDM permite a computação de cubos completos a partir de um certo grau de uniformidade nos dados e cubos parciais quando o grau de uniformidade nos dados ultrapassar um limite predefinido. Os experimentos demonstram que as abordagens PnP e P2CDM possuem acelerações similares, porém a abordagem P2CDM ´e 20-25% mais rápida e consome 30-40% menos memória em cada nó do cluster, quando comparada com a abordagem PnP.Item Reproducibility model for wireless sensor networks parallel simulations.(2020) Silva, Matheus L.; Lima, Joubert de Castro; Aquino, André Luiz Lins deSeveral wireless sensor networks (WSNs) simulations run in parallel computer architectures to improve their scalability. The main problem with this strategy is guaranteeing the reproducibility transparently to simulation users. We present a reproducible model for WSNs parallel simulations. The model uses a chunk partition strategy, in which all simulation elements are wrapped into chunks and simulated sequentially inside each chunk. We can simulate multiple chunks in parallel as often as possible by adding seed and a pseudo-random number generator in each of them, thus ensuring the same results. This model was integrated into the JSensor simulator and validated accordingly. An important aspect is that the new reproducibility model does not alter the simulation’s semantics, and it is transparent to the developer. The results demonstrated that our model could guarantee the reproducibility of stochastic WSNs parallel simulations performed in diferent computer systems with diferent threads.Item s-WIM : a scalable web information mining tool.(2012) Melo, Felipe Santiago Martins Coimbra de; Pereira Junior, Álvaro Rodrigues; Pereira Junior, Álvaro Rodrigues; Lima, Joubert de Castro; Souza, Fabrício Benevenuto de; Ziviani, NivioMineração Web pode ser vista como o processo de encontrar padrões na Web por meio de técnicas de mineração de dados. Mineração Web é uma tarefa computacionalmente intensiva, e a maioria dos softwares de mineração são desenvolvidos isoladamente, o que torna escalabilidade e reusabilidade difı́cil para outras tarefas de mineração. Mineração Web é um processo iterativo onde prototipagem tem um papel essencial para experimentar com diferentes alternativas, bem como para incorporar o conhecimento adquirido em iterações anteriores do processo. Web Information Mining (WIM) constitui um modelo para prototipagem rápida em mineração Web. A principal motivação para o desenvolvimento do WIM foi o fato de que seu modelo conceitual provê seus usuários com um nı́vel de abstração apropriado para prototipagem e experimentação durante a tarefa de mineração. WIM é composto de um modelo de dados e de uma álgebra. O modelo de dados WIM é uma visão relacional dos dados Web. Os três tipos de dados existentes na Web, chamados de conteúdo, de estrutura e dados de uso, são representados por relações. Os principais componentes de entrada do modelo de dados WIM são as páginas Web, a estrutura de hiper- links que interliga as páginas Web, e os históricos (logs) de consultas obtidos de máquinas de busca da Web. A programação WIM é baseada em fluxos de dados (dataflows), onde sequências de operações são aplicadas às relações. As operações são definidas pela álgebra WIM, que contém operadores para manipulação de dados e para mineração de dados. WIM materializa uma linguagem de programação declarativa provida por sua álgebra. O objetivo do presente trabalho é o desenho de software e o desenvolvimento do Scalable Web Information Mining (s-WIM), a partir do modelo de dados e da álgebra apresentados pelo WIM. Para dotar os operadores com a escalabilidade desejada – e consequentemente os programas gerados por eles – o s-WIM foi desenvolvido sobre as plataformas Apache Hadoop e Apache HBase, que provêem escalabilidade linear tanto no armazenamento quanto no processamento de dados, a partir da adição de hardware. A principal motivação para o desenvolvimento do s-WIM é a falta de ferramentas livres que ofereçam tanto o nı́vel de abstração provido pela álgebra WIM quanto a escalabilidade necessária à operação sobre grandes bases de dados. Além disso, o nı́vel de abstração provido pela álgebra do WIM permite que usuários sem conhecimentos avançados em linguagens de programação como Java ou C++ também possam utilizá-lo. O desenho e a arquitetura do s-WIM sobre o Hadoop e o HBase são apresentados nesse trabalho, bem como detalhes de implementação dos operadores mais complexos. São também apresentados diversos experimentos e seus resultados, que comprovam a escalabilidade do s-WIM e consequentemente, seu suporte à mineração de grandes volumes de dados.Item Simplicity, reproducibility and scalability for huge wireless sensor network simulations.(2018) Silva, Matheus Leônidas; Lima, Joubert de Castro; Lima, Joubert de Castro; Loureiro, Antonio Alfredo Ferreira; Aquino, André Luiz Lins deNeste trabalho apresentamos duas contribuições para a literatura de redes de sensores sem fio (WSN). A primeira é um modelo geral para alcançar a reprodutibilidade no nível do kernel em simuladores paralelos. Infelizmente, os usuários devem implementar do zero como suas simulações se repetem em simuladores WSN, mas uma simulação paralela ou distribuída impõe o princípio de concorrência, não trivial de ser implementada por não especialistas. Testes usando o simulador chamado JSensor comprovaram que o modelo garante o nível mais restrito de reprodutibilidade, mesmo quando as simulações adotam diferentes números de threads ou diferentes máquinas em múltiplas execuções. A segunda contribuição é o simulador JSensor, um simulador paralelo de uso geral para aplicações WSN de grande escala e algoritmos distribuídos de alto nível. O JSensor introduz elementos de simulação mais realistas, como o ambiente representado por células personalizáveis e eventos de aplicação que representam fenômenos naturais, como raios, vento, sol, chuva e muito mais. As células são colocadas em uma grade que representa o ambiente com características do espaço definido pelos usuários, como temperatura, pressão e qualidade do ar. Avaliações experimentais mostram que o JSensor tem boa escalabilidade em arquiteturas de computadores multi-core, alcançando um speedup de 7,45 em uma máquina com 16 núcleos com tecnologia Hyper-Threading, portanto 50% dos núcleos são virtuais. O JSensor também provou ser 21% mais rápido que o OMNeT++ ao simular um modelo do tipo flooding.Item Systematic literature review on parallel trajectory-based metaheuristics.(2022) Almeida, André Luís Barroso de; Lima, Joubert de Castro; Carvalho, Marco Antonio Moreira deIn the past 35 years, parallel computing has drawn increasing interest from the academic community, especially in solving complex optimization problems that require large amounts of computational power. The use of parallel (multi-core and distributed) architectures is a natural and effective alternative to speeding up search methods, such as metaheuristics, and to enhancing the quality of the solutions. This survey focuses particularly on studies that adopt high-performance computing techniques to design, implement, and experiment trajectory-based metaheuristics, which pose a great challenge to high-performance computing and represent a large gap in the operations research literature. We outline the contributions from 1987 to the present, and the result is a complete overview of the current state-of-the-art with respect to multi-core and distributed trajectory-based metaheuristics. Basic notions of high-performance computing are introduced, and different taxonomies for multi-core and distributed architectures and metaheuristics are reviewed. A comprehensive list of 127 publications is summarized and classified according to taxonomies and application types. Furthermore, past and future trends are indicated, and open research gaps are identified.Item TabPath : interactive tables for metabolic pathway analysis.(2017) Moraes, Lauro Ângelo Gonçalves de; Felestrino, Érica Barbosa; Assis, Renata de Almeida Barbosa; Matos, Diogo; Lima, Joubert de Castro; Lima, Leandro de Araújo; Almeida Junior, Nalvo Franco de; Setubal, João Carlos; Garcia, Camila Carrião Machado; Moreira, Leandro MarcioInformation about metabolic pathways in a comparative context is one of the most powerful tool to help the understanding of genome-based differences in phenotypes among organisms. Although several platforms exist that provide a wealth of information on metabolic pathways of diverse organisms, the comparison among organisms using metabolic pathways is still a difficult task. We present TabPath (Tables for Metabolic Pathway), a web-based tool to facilitate comparison of metabolic pathways in genomes based on KEGG. From a selection of pathways and genomes of interest on the menu, TabPath generates user-friendly tables that facilitate analysis of variations in metabolism among the selected organisms.