3 research outputs found

    A high performance Java middleware for general purpose computing and capacity planning.

    Get PDF
    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.Middlewares 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.Middleware systems or frameworks are fundamental in the development of distributed applications due to their complexity. Several solutions were proposed in the last three decades of improvements and Java can be considered as part of these efforts. The Java community is huge and the language supports several features designed for high performance computing (HPC), but also for small platforms like the Internet of Things (IoT) ones. The Java middlewares proposed for HPC implement several features, such as scheduling, fault tolerance, code portability, simple deployment over large clusters, collaborative development in the cloud stack, execution of existing code without refactorings, native support for distributed data structures, asynchronous task execution, support for distributed global variables, super-peer concept and many others, but without integrating them. Unfortunately, these features were not put together in a simple and fast middleware solution. In this paper, we present Java C?&L? or just JCL, a distributed shared memory lightweight middleware for Java developers that separates business logic from distribution issues during the development process and gathers several features presented separately in the last decades of middleware literature, allowing building distributed or parallel applications with few portable instructions and capable to run over different platforms, including small ones. This paper describes JCL?s features, compares and contrasts JCL to other Java middleware systems, and reports performance measurements of JCL applications in several distinct scenarios

    A general-purpose distributed computing Java middleware.

    No full text
    The 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

    A middleware solution for integrating and exploring IoTand HPC capabilities.

    No full text
    Even 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
    corecore