157 research outputs found

    RELEASE: A High-level Paradigm for Reliable Large-scale Server Software

    Get PDF
    Erlang is a functional language with a much-emulated model for building reliable distributed systems. This paper outlines the RELEASE project, and describes the progress in the first six months. The project aim is to scale the Erlang’s radical concurrency-oriented programming paradigm to build reliable general-purpose software, such as server-based systems, on massively parallel machines. Currently Erlang has inherently scalable computation and reliability models, but in practice scalability is constrained by aspects of the language and virtual machine. We are working at three levels to address these challenges: evolving the Erlang virtual machine so that it can work effectively on large scale multicore systems; evolving the language to Scalable Distributed (SD) Erlang; developing a scalable Erlang infrastructure to integrate multiple, heterogeneous clusters. We are also developing state of the art tools that allow programmers to understand the behaviour of massively parallel SD Erlang programs. We will demonstrate the effectiveness of the RELEASE approach using demonstrators and two large case studies on a Blue Gene

    RELEASE: A High-level Paradigm for Reliable Large-scale Server Software

    Get PDF
    Erlang is a functional language with a much-emulated model for building reliable distributed systems. This paper outlines the RELEASE project, and describes the progress in the rst six months. The project aim is to scale the Erlang's radical concurrency-oriented programming paradigm to build reliable general-purpose software, such as server-based systems, on massively parallel machines. Currently Erlang has inherently scalable computation and reliability models, but in practice scalability is constrained by aspects of the language and virtual machine. We are working at three levels to address these challenges: evolving the Erlang virtual machine so that it can work effectively on large scale multicore systems; evolving the language to Scalable Distributed (SD) Erlang; developing a scalable Erlang infrastructure to integrate multiple, heterogeneous clusters. We are also developing state of the art tools that allow programmers to understand the behaviour of massively parallel SD Erlang programs. We will demonstrate the e ectiveness of the RELEASE approach using demonstrators and two large case studies on a Blue Gene

    Static Detection of Race Conditions in Erlang

    Get PDF
    We address the problem of detecting some commonly occurring kinds of race conditions in Erlang programs using static analysis. Our analysis is completely automatic, fast and scalable, and avoids false alarms by taking language characteristics into account. We have integrated our analysis in dialyzer, a commonly used tool for detecting software defects in Erlang programs which is part of Erlang/OTP, and evaluate its effectiveness and performance on a suite of widely used industrial and open source programs of considerable size. The analysis has detected a significant number of previously unknown race conditions

    Kompics: a message-passing component model for building distributed systems

    Get PDF
    The Kompics component model and programming framework was designedto simplify the development of increasingly complex distributed systems. Systems built with Kompics leverage multi-core machines out of the box and they can be dynamically reconfigured to support hot software upgrades. A simulation framework enables deterministic debugging and reproducible performance evaluation of unmodified Kompics distributed systems. We describe the component model and show how to program and compose event-based distributed systems. We present the architectural patterns and abstractions that Kompics facilitates and we highlight a case study of a complex distributed middleware that we have built with Kompics. We show how our approach enables systematic development and evaluation of large-scale and dynamic distributed systems

    Performance Analysis of QUIC Protocol Used for Real-World Automated Meter Reading Application

    Get PDF
    openThe QUIC is a new encrypted transport protocol, designed on the basis of decades of transport and security experience, with the aim to find a valid, more performing substitute to TCP protocol in all its internet implications. Originally designed by Google, QUIC has taken all the best qualities of TCP connections and TLS encryption and implemented them over UDP. The goal of this thesis is to provide an in-depth study of implementing QUIC protocol for automated meter reading applications which enables automatic collection of consumption data, eliminates manual meter reading, improves efficiency, and saves costs. Finally, consideration of the algorithm’s limitations has been discussed together with ideas for future work and improvements.The QUIC is a new encrypted transport protocol, designed on the basis of decades of transport and security experience, with the aim to find a valid, more performing substitute to TCP protocol in all its internet implications. Originally designed by Google, QUIC has taken all the best qualities of TCP connections and TLS encryption and implemented them over UDP. The goal of this thesis is to provide an in-depth study of implementing QUIC protocol for automated meter reading applications which enables automatic collection of consumption data, eliminates manual meter reading, improves efficiency, and saves costs. Finally, consideration of the algorithm’s limitations has been discussed together with ideas for future work and improvements

    Minimizing average handling time in contact centers by introducing a new process: Rowan Support Desk case study

    Get PDF
    Quality of a call center performance is an important factor in insuring customer satisfaction. Customers, the callers , want their requests solved quickly, permanently and to their satisfaction. Often, there are staff constraints, budget or cost limitation, and the Service Level Agreement (SLA) which is resource availability to accomplish a task within a deadline. The purpose of this research is to analyze feasible approaches to minimize the long-lasting open requests and enhance a call center\u27s performance. Multiple challenges that a call center often faces in handling requests are studied to identify key bottlenecks in the process of handling requests. Rowan University support desk is used as a case study. The focus of this study is on over-extended unsolved requests under set of specific constraints. The following two alternative solutions were investigated and compared. One involves reorganizing the routing procedure, which would allow a ticket to be rerouted to the specialists. The other scenario investigates an increase in staff and efficiencies that would come with it. The research will show that with minimal effort in rerouting the unsolved tickets, we can decrease average handling time which simultaneously increases the total number of resolved tickets and minimize total processing time

    Finding Race Conditions in Erlang with Quick Check and PULSE

    Get PDF
    We address the problem of testing and debugging concurrent, distributed Erlang applications. In concurrent programs, race conditions are a common class of bugs and are very hard to find in practice. Traditional unit testing is normally unable to help finding all race conditions, because their occurrence depends so much on timing. Therefore, race conditions are often found during system testing, where due to the vast amount of code under test, it is often hard to diagnose the error resulting from race conditions. We present three tools (Quick Check, PULSE, and a visualizer) that in combination can be used to test and debug concurrent programs in unit testing with a much better possibility of detecting race conditions. We evaluate our method on an industrial concurrent case study and illustrate how we find and analyze the race conditions
    • …
    corecore