首页期刊导航|Software, practice & experience
期刊信息/Journal information
Software, practice & experience
Wiley
Software, practice & experience

Wiley

0038-0644

Software, practice & experience/Journal Software, practice & experience
正式出版
收录年代

    On the Energy Consumption of ATL Transformations

    Riccardo RubeiJuri di RoccoDavide di Ruscio
    1145-1164页
    查看更多>>摘要:Background: Model transformations play a crucial role in Model-Driven Engineering (MDE), with the ATLAS Transformation Language (ATL) being a powerful technology for developing model-to-model transformations. Methods: This paper presents a comprehensive investigation into the energy consumption of ATL transformations, aiming to identify possible correlations among transformation rules, model size, and metamodel structural characteristics. We conducted experiments on 52 ATL transformations, analyzing power usage and extending our inquiry to understand the impact of mutations on both models and transformations. Results: The experimental findings reveal relationships between the energy utilization of ATL transformations and the structural characteristics of metamodels. Furthermore, we establish a connection between energy consumption, model size, and the complexity of transformation processes. Conclusion: The insights gained from this research lay the groundwork for devising future energy-efficient strategies while developing model transformations.

    Federated Learning Architectures: A Performance Evaluation With Crop Yield Prediction Application

    Anwesha MukherjeeRajkumar Buyya
    1165-1184页
    查看更多>>摘要:Introduction: Federated learning has become an emerging technology in data analysis for IoT applications. Methods: This paper implements centralized and decentralized federated learning frameworks for crop yield prediction based on Long Short-Term Memory Network and Gated Recurrent Unit. For centralized federated learning, multiple clients and one server are considered, where the clients exchange their model updates with the server that works as the aggregator to build the global model. For the decentralized framework, a collaborative network is formed among the devices either using ring topology or using mesh topology. In this network, each device receives model updates from the neighboring devices and performs aggregation to build the upgraded model. Results: The performance of the centralized and decentralized federated learning frameworks is evaluated in terms of prediction accuracy, precision, recall, F1-Score, and training time. The experimental results show that >93% prediction accuracy is achieved using the centralized and decentralized federated learning-based frameworks. The results also show that using centralized federated learning, the response time can be reduced by ~75% than the cloud-only framework. Conclusion: Centralized and decentralized federated learning architectures show good performance in terms of prediction accuracy and loss. The training time, including communication for both case studies, is also not very high, as observed from the results. Further, as no raw data is shared, the data privacy is protected. Finally, the future research directions of the use of federated learning in crop yield prediction are proposed.

    Cloudnativesim: A Toolkit for Modeling and Simulation of Cloud-Native Applications

    Jingfeng WuMinxian XuYiyuan HeKejiang Ye...
    1185-1208页
    查看更多>>摘要:Background: Cloud-native applications are increasingly becoming popular in modern software design. Employing a microservice-based architecture into these applications is a prevalent strategy that enhances system availability and flexibility. However, cloud-native applications introduce new challenges, including frequent inter-service communication and the management of heterogeneous codebases and hardware, resulting in unpredictable complexity and dynamism. Furthermore, as applications scale, only limited research teams or enterprises possess the resources for large-scale deployment and testing, which impedes progress in the cloud-native domain. Aims: To address these challenges, we propose CloudNativeSim, a simulator for cloud-native applications with a microservice-based architecture. Results: CloudNativeSim offers several key benefits: (ⅰ) comprehensive and dynamic modeling for cloud-native applications, (ⅱ) an extended simulation framework with new policy interfaces for scheduling cloud-native applications, and (ⅲ) support for customized application scenarios and user feedback based on Quality of Service (QoS) metrics. Conclusion: CloudNativeSim can be easily deployed on standard computers to manage a high volume of requests and services. Its performance was validated through a case study, demonstrating higher than 94.5% accuracy in terms of response time simulation. The study further highlights the feasibility of CloudNativeSim by illustrating the effects of various scaling policies.

    Performance Analysis and Comparison of Node. Js and Java Spring Boot in Implementation of Restful Applications

    J. S. Shyam MohanKrishanu Goswami
    1209-1233页
    查看更多>>摘要:Purpose: The response time of a website has an impact on the overall user experience. Slow-loading or unresponsive applications can quickly frustrate and alienate users, leading to dissatisfaction and potentially driving them away. Conversely, fast and efficient applications can greatly enhance user engagement, satisfaction, and ultimately contribute to the success of an online business. Objectives: The main objective of this work is to check and compare the performance between Node.js and Java Spring Boot, in the context of implementing RESTful applications. REST (Representational State Transfer) has emerged as a dominant architectural style for building web services due to its simplicity, scalability, and compatibility with the stateless nature of the web. Methodology: To achieve this objective, both implementations were created with an identical business use case, aiming to provide the fundamental CRUD operations (Create, Read, Update, and Delete). To conduct the performance analysis, Apache JMeter tool is used that enables the creation of a diverse set of concurrent virtual users, simulating real-world scenarios to load both applications at regular intervals. By subjecting the applications to varying user loads, it can be assessed how each platform performs under different workloads and identify potential bottlenecks and areas for improvement. Results: The results obtained suggest that Node.js excels in faster response times for HTTP GET, ideal for read operations. However, Spring Boot outperforms Node.js for complex operations like POST, PUT, and DELETE under higher user loads. Both faced challenges at 64,000 virtual users, with error rates from 10% to 75%, but Spring showed better error handling. Spring required fewer lines of code, benefiting from its environment and dependencies. Resource utilization in Node.js proved to be efficient with CPU load below 40% even under heavy loads. Spring on the other hand provided better response times, exhibited higher CPU usage at times, suggesting more resource-intensive optimization. The comparison emphasizes the importance of technology stack choice in development, speed and performance. The findings serve as a basis for developers to make informed decisions when selecting the appropriate technology stack based on specific project requirements, workload considerations, and performance expectations.

    Management of DevSecOps Process: An Empirical Investigation

    Muhammad Azeem AkbarArif Ali KhanSajjad MahmoodSami Hyrynsalmi...
    1234-1255页
    查看更多>>摘要:Context: DevSecOps integrates security into the DevOps project lifecycle, uniting development, operations, and security practices. This integration, while beneficial for developing secure software, introduces complexity from a project management perspective. This study delves into this complexity by examining the 10 knowledge areas of the Project Management Body of Knowledge (PMBOK) within the context of DevSecOps project management. Objective: This study aims to explore and understand the application of PMBOK's 10 knowledge areas in managing DevSecOps projects, focusing on the guidelines that are important to consider in integration of security practices throughout the development lifecycle. Method: Our research approach involved two phases: Firstly, we developed a theoretical model grounded in DevSecOps guidelines identified from existing literature. Secondly, we conducted a quantitative survey targeting industry practitioners to gather insights into the practical application of the theoretical model. The study involved 138 responses from professionals, which were subsequently analyzed using correlation and Partial Least Squares (PLS) analysis to test the hypotheses posited in the theoretical model. Results: The analysis reveals critical insights into the management of DevSecOps projects, highlighting the importance of adhering to specific guidelines to navigate the complexities introduced by the integration of security practices. The empirical data support the theoretical model, underscoring the relevance of PMBOK's knowledge areas in the successful management of DevSecOps projects. Conclusion: For organizations committed to the DevSecOps paradigm, it is imperative to consider and implement the identified guidelines. These guidelines not only support the sustainable integration of security practices into DevOps projects but also contribute to the overall success and security of the software developed under this paradigm.

    Scanning HTML at Tens of Gigabytes Per Second on ARM Processors

    Daniel Lemire
    1256-1265页
    查看更多>>摘要:Background: Modern processors feature Single Instruction, Multiple Data (SIMD) instructions capable of processing 16 bytes or more simultaneously, enabling significant performance enhancements in data-intensive tasks. Two major Web browser engines (WebKit and Blink) have adopted SIMD algorithms for parsing HTML. Objective: This study reviews recent advances in utilizing SIMD instructions to accelerate HTML parsing through vectorized classification techniques. Methods: We compare these HTML parsing techniques with a faster alternative. Performance is benchmarked against traditional methods on recent ARM processors. Results: Our measurements demonstrate a 20-fold performance improvement in HTML scanning using SIMD-based approaches compared to conventional parsing methods on modern ARM architectures. Conclusion: These findings underscore the transformative potential of SIMD-based algorithms in optimizing Web browser performance, offering substantial speedups for processing Internet formats and HTML parsing.

    On the Performance and Memory Footprint of Distributed Training: An Empirical Study on Transformers

    Zhengxian Lu1Fangyu WangZhiwei XuFei Yang...
    1266-1284页
    查看更多>>摘要:Background: Transformer models have emerged as potent solutions to a wide array of multidisciplinary challenges. The deployment of transformer architectures is significantly hindered by their extensive computational and memory requirements, necessitating reliance on advanced efficient distributed training methodologies. Motivation: Prior research has delved into the performance bottlenecks associated with distributed training, aiming to unravel these bottlenecks and suggest optimization directions. However, such analyses often overlook three aspects unique to transformer models: the specialized architecture, the dependency on various distributed strategies, and the requirement to balance computational and memory overhead. Method: This paper aims to bridge this gap by offering a comprehensive examination of the performance bottlenecks inherent in the distributed training of transformer models, leveraging both theoretical analysis and empirical investigation. We propose an analytical framework tailored to these unique aspects of transformers, facilitating a holistic evaluation of model architectures, distributed strategies, and resource consumption. Based on this analytical framework, we conduct a comparative analysis of theoretical performances and further systematically explore how various distributed training strategies fare in real-world scenarios. Results: Most of the experimental results can be well explained by the analytical outcomes derived from the analytical framework. Notably, our findings suggest an advantage of pipeline parallelism over data parallelism for transformer models. Moreover, we shed light on some unexpected outcomes, such as the potential for increased total memory overhead due to suboptimal model partitioning within pipeline parallelism. Additionally, we underscore the significance of communication block size and waiting time to further enhance performance.