Modern wireless and mobile solutions are frequently referred to as the Internet of Things (IoT) applications. The development of cloud-based systems and technological advancements give rise to the concept of a networked, Internet-based, distributed processing site-based world. This paper explains the dew environment analysis and monitoring to ensure sustainability. This approach also discusses sustainable IoT solutions and provides an overview of the dew server’s organizational and operational structure. We outline the objectives, specifications, and performance of dew servers, another computational layer in the cloud-based architecture for Sustainable IoT solutions. The dew servers are examined rigorously from an operational and performance perspective as systems that, in addition to communicating with higher-level cloud servers, gather, process, and offload streaming data from IoT sensors and devices.
Speeding up Smartphone-Based Dew Computing: In Vivo Experiments Setup Via an Evolutionary Algorithm
Dew computing aims to minimize the dependency on remote clouds by exploiting nearby nodes for solving non-trivial computational tasks, e.g., AI inferences. Nowadays, smartphones are good candidates for computing nodes; hence, smartphone clusters have been proposed to accomplish this task and load balancing is frequently a subject of research. Using the same real—i.e., in vivo—testbeds to evaluate different load balancing strategies based on energy utilization is challenging and time consuming. In principle, test repetition requires a platform to control battery charging periods between repetitions. Our Motrol hard-soft device has such a capability; however, it lacks a mechanism to assure and reduce the time in which all smartphone batteries reach the level required by the next test. We propose an evolutionary algorithm to execute smartphone battery (dis)charging plans to minimize test preparation time. Charging plans proposed by the algorithm include charging at different speeds, which is achieved by charging at maximum speed while exercising energy hungry components (the CPU and screen). To evaluate the algorithm, we use various charging/discharging battery traces of real smartphones and we compare the time-taken for our method to collectively prepare a set of smartphones versus that of individually (dis)charging all smartphones at maximum speed.
2022
A Simulation Scheduling Module to Improve User Experience in the Simugan Beef-Cattle Farm Simulator
Mauricio Arroqui, Juan Francisco Ferreira, Maximiliano Omar Roselli, Juan Rodriguez Alvarez, Claudio Fabian Machado, Cristian Mateos, and Alejandro Zunino
At the Faculty of Veterinary Sciences of the National University of Central Buenos Aires a client-server Beef-Cattle Farm simulator called Simugan has been developed. Simugan allows users to experiment over a virtual farm in a simple and low cost way compared with real farm conditions. Users can submit single simulation scenarios or multiple simulation scenarios packaged in an experimentation, where each scenario is a complete farm configuration. This is a key feature important in farm research, but with the drawback that some users might experiment long wait times for simulation results because of the amount of simulations the underlying hardware architecture has to process. Consequently, an heuristic scheduler module was added to Simugan producing a more equitative use of computer resources and an improvement of 41% in users flow time, a popular metric to quantify how much time user simulations spend in the back end and hence a way of measuring deviations in users waiting times.
LiveDewStream: A stream processing platform for running in-lab distributed deep learning inferences on smartphone clusters at the edge
Dew computing, an evolution of Fog computing, aims at fulfilling computing needs, such as deep learning applied to object classification, close to where data is originated and using computing resources that include consumer electronic devices such as smartphones. Simulation tools like DewSim aid the study of resource allocation mechanisms for exploiting clusters of smartphones, however, there is a gap w.r.t software tools that allow to perform similar studies over real Dew computing testbeds. We have developed LiveDewStream, an open source project to model executable tasks derived from data streams to be run on real smartphone clusters. The project offers a key functionality missing in other tools: reproducibility of battery-driven Dew experiments. Our major contribution is to provide the community a common in vivo platform to study best-performing allocation mechanisms under different stream processing scenarios and/or deep learning inference models.
Motrol: A hardware-software device for batch benchmarking and profiling of in-lab mobile device clusters
Motrol is a simple device that satisfies functional requirements necessary for the automatic execution of battery-driven tests and profiling of connected mobile devices. It is specifically a hardware/software platform that allows Dew Computing researchers and developers to automate performance tests on Android-based smartphones. The hardware is based on a NodeMCU Esp8266 microcontroller that runs a firmware for managing the outputs. This software allows enabling/disabling the relays that connect the sockets that power the chargers of up to 4 mobile devices minimizing the need for human intervention. The firmware runs a web server that serves Rest requests from a Rest client with the commands to drive the digital outputs. These digital outputs activate or deactivate the relays to allow current to pass or not to the sockets. Such capability is essential to automate the study of battery behavior on battery-driven devices such as smartphones. Motrol is easy to assemble, knowledge in electronics or programming languages is not necessary, it is constructed with open hardware, and it is cheap, being its total cost ∼USD 30
2021
Comparacion de la Calidad de Vida en la Argentina en Escala Censal y Departamental a Partir del Diseño de una Aplicacion Web
La geografía permite realizar un estudio empírico de la calidad de vida a partir de la elaboración de índices con su correspondiente representación cartográfica, apoyándose principalmente en Sistemas de Información Geográfica. En este marco, el trabajo propone dos objetivos principales: poner a disposición mapas en línea de un índice de calidad de vida desagregado a la mayor escala espacial disponible (radio censal) en formatos Web y Móvil, desde un enfoque interdisciplinario, y posteriormente realizar una resume el análisis espacial del índice y muestra su diferencia con el mismo índice aplicado a nivel departamental, destacando la importancia del Problema de Unidad Modificable en la interpretación de los resultados.
A Simulation Scheduling Module to Improve User Experience in the Simugan Beef-Cattle Farm Simulator
Mauricio Arroqui, Juan Francisco Ferreira, Maximiliano Omar Roselli, Juan Rodriguez Alvarez, Claudio Fabian Machado, Cristian Mateos, and Alejandro Zunino
At the Faculty of Veterinary Sciences of the National University of Central Buenos Aires a client-server Beef-Cattle Farm simulator called Simugan has been developed. Simugan allows users to experiment over a virtual farm in a simple and low cost way compared with real farm conditions. Users can submit single simulation scenarios or multiple simulation scenarios packaged in an experimentation, where each scenario is a complete farm configuration. This is a key feature important in farm research, but with the drawback that some users might experiment long wait times for simulation results because of the amount of simulations the underlying hardware architecture has to process. Consequently, an heuristic scheduler module was added to Simugan producing a more equitative use of computer resources and an improvement of 41 % in users flow time, a popular metric to quantify how much time user simulations spend in the back end and hence a way of measuring deviations in user’s waiting times
A Task Execution Scheme for Dew Computing with State-of-the-Art Smartphones
The computing resources of today’s smartphones are underutilized most of the time. Using these resources could be highly beneficial in edge computing and fog computing contexts, for example, to support urban services for citizens. However, new challenges, especially regarding job scheduling, arise. Smartphones may form ad hoc networks, but individual devices highly differ in computational capabilities and (tolerable) energy usage. We take into account these particularities to validate a task execution scheme that relies on the computing power that clusters of mobile devices could provide. In this paper, we expand the study of several practical heuristics for job scheduling including execution scenarios with state-of-the-art smartphones. With the results of new simulated scenarios, we confirm previous findings and better comprehend the baseline approaches already proposed for the problem. This study also sheds some light on the capabilities of small-sized clusters comprising mid-range and low-end smartphones when the objective is to achieve real-time stream processing using Tensorflow object recognition models as edge jobs. Ultimately, we strive for industry applications to improve task scheduling for dew computing contexts. Heuristics such as ours plus supporting dew middleware could improve citizen participation by allowing a much wider use of dew computing resources, especially in urban contexts in order to help build smart cities
A platform for automating battery-driven batch benchmarking and profiling of Android-based mobile devices
In-laboratory mobile device data gathering is useful to support fields of study that rely on data derived from mobile devices as elementary research input. Particularly, Dew Computing, a sub-area of mobile distributed computing, aims at scavenging idle computing resources from mobile devices at the edge. To produce repeatable experiments for developed Dew approaches, simulation of relevant mobile device aspects is an acceptable practice, being battery behavior one of such aspects. Our recently-proposed DewSim simulation toolkit uses a trace-based approach to model battery behavior realistically. However, to generically characterize the impact of different device components – e.g., CPU at different usages – on battery behavior, it is necessary to easily capture battery traces, and run benchmarks to quantify computing capabilities. Considering that traces are captured during long charging or discharging cycles, such data gathering duty is tedious and time-consuming and no tool has been proposed yet to automate it. To fill this gap, we propose a platform that leverages common IoT hardware to control battery state of devices subject to pre-configured profiling/benchmarking plans. The platform has a server-side component to manage benchmark/profiling executions using one out of two possible operation modes (exclusive or shared), and an extensible Android application that implements the benchmark and profiling logic to be run on devices. We conclude that the operation modes represent a clear trade-off between benchmark/profile execution time and IoT hardware cost. From validation experiments, we also conclude that using our platform to run a benchmark does not introduce a considerable performance and energy footprint compared to running the same benchmark as a plain Android application.
New Heuristics for Scheduling and Distributing Jobs under Hybrid Dew Computing Environments
P. Sanabria, T.F. Tapia, A. Neyem, J.I. Benedetto, M. Hirsch, C. Mateos, and A. Zunino
Wireless Communications and Mobile Computing, Sep 2021
Mobile grid computing has been a popular topic for researchers due to mobile and IoT devices’ ubiquity and their evergrowing processing potential. While many scheduling algorithms for harnessing these resources exist in the literature for standard grid computing scenarios, surprisingly, there is little insight into this matter in the context of hybrid-powered computing resources, typically found in Dew and Edge computing environments. This paper proposes new algorithms aware of devices’ power source for scheduling tasks in hybrid environments, i.e., where the battery- and non-battery-powered devices cooperate. We simulated hybrid Dew/Edge environments by extending DewSim, a simulator that models battery-driven devices’ battery behavior using battery traces profiled from real mobile devices. We compared the throughput and job completion achieved by algorithms proposed in this paper using as a baseline a previously developed algorithm that considers computing resources but only from battery-dependent devices called Enhanced Simple Energy-Aware Schedule (E-SEAS). The obtained results in the simulation reveal that our proposed algorithms can obtain up to a 90% increment in overall throughput and around 95% of completed jobs in hybrid environments compared to E-SEAS. Finally, we show that incorporating these characteristics gives more awareness of the type of resources present and can enable the algorithms to manage resources more efficiently in more hybrid environments than other algorithms found in the literature.
A Simulation-based Performance Evaluation of Heuristics for Dew Computing
The evolution of smartphones allows the continuous exploitation of computing resources. This increasingly applies also to distributed environments as exemplified through utilization of network router loads in edge computing and fog computing. Combining cloud computing and mobile smart devices in dew computing contexts enables new techniques for resource utilization, data collection and data processing. However, new challenges regarding job scheduling arise. Smartphones may be used in ad-hoc networks in this context, but their heterogeneity and energy usage must be considered. We propose novel heuristics for performance measuring of distributed computing systems integrated with mobile devices and compare them with previous heuristics in a simulation environment. Our results show an overall improvement in job completion and load balancing metrics compared to previous approaches. They highlight the usefulness of pursuing this research stream for aiming at industrial implementation and evaluation
2020
Evaluating the performance of three popular web mapping libraries: A case study using Argentina’s life quality index
Spotting and Removing WSDL Anti-pattern Root Causes in Code-first Web Services Using NLP Techniques: A Thorough Validation of Impact on Service Discoverability
Software cognitive complexity refers to how demanding the mental process of performing tasks such as coding, testing, debugging, or modifying source code is. Achieving low levels of cognitive complexity is crucial for ensuring high levels of software maintainability, which is one of the most rewardful software quality attributes. Therefore, in order to control and ensure software maintainability, it is first necessary to accurately quantify software cognitive complexity. In this line, this paper presents a software metric to assess cognitive complexity in Object-Oriented (OO) systems, and particularly those developed in the Java language, which is very popular among OO programming languages. The proposed metric is based on a characterization of basic control structures present in Java systems. Several algorithms to compute the metric and their materialization in the Eclipse IDE are also introduced. Finally, a theoretical validation of the metric against a framework specially designed to validate software complexity metrics is presented, and the applicability of the tool is shown by illustrating the metric in the context of ten real world Java projects and relevant metrics from the well-known Chidamber-Kemerer metric suite.
An evaluation of distributed processing models for randomwalk-based link prediction algorithms over social big data
An Enterprise Desktop Grid (EDG) is a low cost platform that gathers desktop computers spread over different institutions. This platform uses desktop computers idle time to run grid applications. We argue that computers in these environments have a predictable productivity that affects a grid application execution time. In this paper, we propose a system called PFS for computer productivity forecasting that improves grid applications performance. We simulated 157 500 applications and compared the performance achieved by our proposal against two recent strategies. Our experiments show that a grid scheduler based on PFS runs applications faster than schedulers based on other selection strategies.
Because of the increasing availability of multi-core machines, clusters, Grids, and combinations of these there is now plenty of computational power, but today’s programmers are not fully prepared to exploit parallelism. In particular, Java has helped in handling the heterogeneity of such environments. However, there is a lot of ground to cover regarding facilities to easily and elegantly parallelizing applications. One path to this end seems to be the synthesis of semi-automatic parallelism and Parallelism as a Concern (PaaC). The former allows users to be mostly unaware of parallel exploitation problems and at the same time manually optimize parallelized applications whenever necessary, while the latter al-lows applications to be separated from parallel-related code. In this paper, we present EasyFJP, an approach that implicitly exploits parallelism in Java applications based on the concept of fork-join synchronization pattern, a simple but effective abstraction for creating and coordinating parallel tasks. In addition, EasyFJP lets users to explicitly optimize applications through policies, or user-provided rules to dynamically regulate task granularity. Finally, EasyFJP relies on PaaC by means of source code generation techniques to wire applications and parallel-specific code together. Experiments with real-world applications on an emulated Grid and evidence that Easy FJP delivers competitive performance compared to state-of-the-art Java parallel programming tools.
Best practices for describing, consuming, and discovering web services: A comprehensive toolset
Historically, software engineers have conceived metric suites as valuable tools to estimate the quality of their software artifacts. Recently, a fresh computing paradigm called Service-Oriented Computing (SOC) has emerged at the crossing of massively distributed and heterogeneous software. This paper presents a statistical correlation analysis showing that classic software engineering metrics can be used to predict the complexity and quality of WSDL documents, the cornerstone software artifact when materializing this novel computing paradigm with Web-based technologies. For the experiments, 154 real world WSDL documents have been employed.
Testing-based process for service-oriented applications
Exploiting Grids intuitively requires developers to alter their applications, which calls for expertise on Grid programming. Gridification tools address this problem by semi-automatically making user applications to be Grid-aware. However, most of these tools produce monolithic Grid applications in which common tuning mechanisms (e.g. parallelism) are not applicable, and do not reuse existing Grid middleware services. We propose BYG (BYtecode Gridifier), a gridification tool that relies on novel bytecode rewriting techniques to parallelize and easily execute existing applications via Grid middlewares. Experiments performed by using several computing intensive applications on a cluster and a simulated wide-area Grid suggest that our techniques are effective while staying competitive compared to programmatically using such services for gridifying applications.
Combining query-by-example and query expansion for simplifying web service discovery
Web services have acquired enormous popularity among software developers and researchers due to the increasing levels of flexibility required by current distributed applications. However, service search facilities are still rather difficult to use. This paper presents WSQBE, a search method that aims at assisting service discoverers by generating a short list of candidate services and easing query specification. In contrast with previous approaches, WSQBE discovery process is based on a novel search space reduction mechanism. Experimental evaluations of our approach are also reported. Copyright 2008 ACM.
GMAC: An overlay multicast network for mobile agent platforms