305,847 research outputs found

    Ultra-reliable Low-latency, Energy-eļ¬ƒcient and Computing-centric Software Data Plane for Network Softwarization

    Get PDF
    Network softwarization plays a signiļ¬cantly important role in the development and deployment of the latest communication system for 5G and beyond. A more ļ¬‚exible and intelligent network architecture can be enabled to provide support for agile network management, rapid launch of innovative network services with much reduction in Capital Expense (CAPEX) and Operating Expense (OPEX). Despite these beneļ¬ts, 5G system also raises unprecedented challenges as emerging machine-to-machine and human-to-machine communication use cases require Ultra-Reliable Low Latency Communication (URLLC). According to empirical measurements performed by the author of this dissertation on a practical testbed, State of the Art (STOA) technologies and systems are not able to achieve the one millisecond end-to-end latency requirement of the 5G standard on Commercial Off-The-Shelf (COTS) servers. This dissertation performs a comprehensive introduction to three innovative approaches that can be used to improve different aspects of the current software-driven network data plane. All three approaches are carefully designed, professionally implemented and rigorously evaluated. According to the measurement results, these novel approaches put forward the research in the design and implementation of ultra-reliable low-latency, energy-eļ¬ƒcient and computing-ļ¬rst software data plane for 5G communication system and beyond

    An Adaptive Integration Architecture for Software Reuse

    Get PDF
    The problem of building large, reliable software systems in a controlled, cost-effective way, the so-called software crisis problem, is one of computer science\u27s great challenges. From the very outset of computing as science, software reuse has been touted as a means to overcome the software crisis issue. Over three decades later, the software community is still grappling with the problem of building large reliable software systems in a controlled, cost effective way; the software crisis problem is alive and well. Today, many computer scientists still regard software reuse as a very powerful vehicle to improve the practice of software engineering. The advantage of amortizing software development cost through reuse continues to be a major objective in the art of building software, even though the tools, methods, languages, and overall understanding of software engineering have changed significantly over the years. Our work is primarily focused on the development of an Adaptive Application Integration Architecture Framework. Without good integration tools and techniques, reuse is difficult and will probably not happen to any significant degree. In the development of the adaptive integration architecture framework, the primary enabling concept is object-oriented design supported by the unified modeling language. The concepts of software architecture, design patterns, and abstract data views are used in a structured and disciplined manner to established a generic framework. This framework is applied to solve the Enterprise Application Integration (EM) problem in the telecommunications operations support system (OSS) enterprise marketplace. The proposed adaptive application integration architecture framework facilitates application reusability and flexible business process re-engineering. The architecture addresses the need for modern businesses to continuously redefine themselves to address changing market conditions in an increasingly competitive environment. We have developed a number of Enterprise Application Integration design patterns to enable the implementation of an EAI framework in a definite and repeatable manner. The design patterns allow for integration of commercial off-the-shelf applications into a unified enterprise framework facilitating true application portfolio interoperability. The notion of treating application services as infrastructure services and using business processes to combine them arbitrarily provides a natural way of thinking about adaptable and reusable software systems. We present a mathematical formalism for the specification of design patterns. This specification constitutes an extension of the basic concepts from many-sorted algebra. In particular, the notion of signature is extended to that of a vector, consisting of a set of linearly independent signatures. The approach can be used to reason about various properties including efforts for component reuse and to facilitate complex largescale software development by providing the developer with design alternatives and support for automatic program verification

    A Pattern Language for High-Performance Computing Resilience

    Full text link
    High-performance computing systems (HPC) provide powerful capabilities for modeling, simulation, and data analytics for a broad class of computational problems. They enable extreme performance of the order of quadrillion floating-point arithmetic calculations per second by aggregating the power of millions of compute, memory, networking and storage components. With the rapidly growing scale and complexity of HPC systems for achieving even greater performance, ensuring their reliable operation in the face of system degradations and failures is a critical challenge. System fault events often lead the scientific applications to produce incorrect results, or may even cause their untimely termination. The sheer number of components in modern extreme-scale HPC systems and the complex interactions and dependencies among the hardware and software components, the applications, and the physical environment makes the design of practical solutions that support fault resilience a complex undertaking. To manage this complexity, we developed a methodology for designing HPC resilience solutions using design patterns. We codified the well-known techniques for handling faults, errors and failures that have been devised, applied and improved upon over the past three decades in the form of design patterns. In this paper, we present a pattern language to enable a structured approach to the development of HPC resilience solutions. The pattern language reveals the relations among the resilience patterns and provides the means to explore alternative techniques for handling a specific fault model that may have different efficiency and complexity characteristics. Using the pattern language enables the design and implementation of comprehensive resilience solutions as a set of interconnected resilience patterns that can be instantiated across layers of the system stack.Comment: Proceedings of the 22nd European Conference on Pattern Languages of Program

    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

    An approach to computer-based knowledge representation for the business environment using empirical modelling

    Get PDF
    The motivation for the thesis arises from the difficulties experienced by business people who are non-programmers with the inflexibilities of conventional packages and tools for model-making. After a review of current business software an argument is made for the need for a new computing paradigm that would offer more support for the way that people actually experience their business activities. The Empirical Mod- elling (EM) approach is introduced as a broad theoretical and practical paradigm for computing that can be viewed as a far-reaching generali- sation of the spreadsheet concept. The concepts and principles of EM emphasise the experiential pro- cesses underlying familiar abstractions and by which we come to iden- tify reliable components in everyday life and, in particular, business activities. The emphasis on experience and on interaction leads to the new claim that EM environments offer a framework for combining propositional, experiential and tacit knowledge in a way that is more accessible and supportive of cognitive processes than conventional computer-based modelling. It is proposed that such environments offer an alternative kind of knowledge representation. Turning to the imple- mentation and development of systems, the difficulties inherent in con- ventional methods are discussed and then the practical aspects of EM, and its potential for system building, are outlined. Finally, a more detailed study is made of Decision Support Systems and the ways in which the EM focus on experience, and knowledge through interaction, can contribute to the representation of qualitative aspects of business activities and their use in a more human-centred, but computer-supported, process of decision making. Illustrations of the practical application of EM methods to the requirements of a deci- sion support environment are given by means of extracts from a num- ber of existing EM models

    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

    CLOVER: A modelling framework for sustainable community-scale energy systems

    Get PDF
    Sustainable Development Goal 7 aims to provide sustainable, affordable, reliable and modern energy access to all by 2030 (United Nations, 2015). In order for this goal to be achieved, sustainable energy interventions in developing countries must be supported with design tools which can evaluate the technical performance of energy systems as well as their economic and climate impacts. CLOVER (Continuous Lifetime Optimisation of Variable Electricity Resources) is a software tool for simulating and optimising community-scale energy systems, typically minigrids, to support energy access in developing countries (Winchester et al., 2022). CLOVER can be used to model electricity demand and supply at an hourly resolution, for example allowing users to investigate how an electricity system might perform at a given location. CLOVER can also identify an optimally-sized energy system to meet the needs of the community under specified constraints. For example, a user could define an optimum system as one which provides a desired level of reliability at the lowest cost of electricity. CLOVER can provide an insight into the technical performance, costs, and climate change impact of a system, and allow the user to evaluate many different scenarios to decide on the best way to provide sustainable, affordable and reliable electricity to a community. CLOVER can be used on both personal computers and high-performance computing facilities. Its design separates its general framework (code, contained in a source src directory) from user inputs (data, contained in a directory entitled locations) which are specific to their investigations. The user inputs these data via a combination of .csv and .yaml files. CLOVERā€™s straightforward command-line interface provides simple operation for both experienced Python users and those with little prior exposure to coding. An installable package, clover-energy, is available for users to download without needing to become familiar with GitHubā€™s interface. Information about CLOVER and how to use it is available on the CLOVER wiki pages
    • ā€¦
    corecore