• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 3
  • Tagged with
  • 3
  • 3
  • 3
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Parallel Pattern Search in Large, Partial-Order Data Sets on Multi-core Systems

Ekpenyong, Olufisayo January 2011 (has links)
Monitoring and debugging distributed systems is inherently a difficult problem. Events collected during the execution of distributed systems can enable developers to diagnose and fix faults. Process-time diagrams are normally used to view the relationships between the events and understand the interaction between processes over time. A major difficulty with analyzing these sets of events is that they are usually very large. Therefore, being able to search through the event-data sets can enable users to get to points of interest quickly and find out if patterns in the dataset represent the expected behaviour of the system. A lot of research work has been done to improve the search algorithm for finding event-patterns in large partial-order datasets. In this thesis, we improve on this work by parallelizing the search algorithm. This is useful as many computers these days have more than one core or processor. Therefore, it makes sense to exploit this available computing power as part of an effort to improve the speed of the algorithm. The search problem itself can be modeled as a Constraint Satisfaction Problem (CSP). We develop a simple and efficient way of generating tasks (to be executed by the cores) that guarantees that no two cores will ever repeat the same work-effort during the search. Our approach is generic and can be applied to any CSP consisting of a large domain space. We also implement an efficient dynamic work-stealing strategy that ensures the cores are kept busy throughout the execution of the parallel algorithm. We evaluate the efficiency and scalability of our algorithm through experiments and show that we can achieve efficiencies of up to 80% on a 24-core machine.
2

Parallel Pattern Search in Large, Partial-Order Data Sets on Multi-core Systems

Ekpenyong, Olufisayo January 2011 (has links)
Monitoring and debugging distributed systems is inherently a difficult problem. Events collected during the execution of distributed systems can enable developers to diagnose and fix faults. Process-time diagrams are normally used to view the relationships between the events and understand the interaction between processes over time. A major difficulty with analyzing these sets of events is that they are usually very large. Therefore, being able to search through the event-data sets can enable users to get to points of interest quickly and find out if patterns in the dataset represent the expected behaviour of the system. A lot of research work has been done to improve the search algorithm for finding event-patterns in large partial-order datasets. In this thesis, we improve on this work by parallelizing the search algorithm. This is useful as many computers these days have more than one core or processor. Therefore, it makes sense to exploit this available computing power as part of an effort to improve the speed of the algorithm. The search problem itself can be modeled as a Constraint Satisfaction Problem (CSP). We develop a simple and efficient way of generating tasks (to be executed by the cores) that guarantees that no two cores will ever repeat the same work-effort during the search. Our approach is generic and can be applied to any CSP consisting of a large domain space. We also implement an efficient dynamic work-stealing strategy that ensures the cores are kept busy throughout the execution of the parallel algorithm. We evaluate the efficiency and scalability of our algorithm through experiments and show that we can achieve efficiencies of up to 80% on a 24-core machine.
3

Role-based Context-sensitive Monitoring of Distributed Systems

Shmelkin, Ilja 08 March 2023 (has links)
Monitoring information technology (IT) systems during operation is one of the few methods that help administrators track the health of the monitored system, predict and detect faults, and assist in system repair and error prevention. However, current implementations impose architectural and functional constraints on monitored systems that result in less flexibility in deployment and operation. While excellent monitoring systems exist for some use cases, others are not adequately supported, having no monitoring system available at all for very specific use cases. In addition, most monitoring software specializes in specific data formats, protocols, data collection mechanisms, etc., further limiting its flexibility. As a result, individuals and organizations struggle to find the right combination of features to support their monitoring needs in a single monitoring system, forcing them to use multiple monitoring systems instead in order to support all of their use cases. The role-based approach to software modeling and implementation promises an intuitive way to increase flexibility in modeling and implementing IT systems. In conjunction with technology from the field of self-adaptive systems, this thesis describes a framework for context-sensitive control loops with roles that can be used to overcome these limitations. We present a novel approach to building a flexible role-based monitoring system based on that framework. Our approach allows for context-specific implementation of monitoring capabilities to support a variety of application domains, while maintaining a derived architecture of well-defined roleplaying components that inherently support distribution and scalability. To this end, important background knowledge from the areas of self-adaptive systems, control loops, the role concept, as well as role-based modeling and implementation is first presented. In addition, important related work from the areas of flexible system design and monitoring systems is presented. Then, a framework for context-sensitive control loops with roles is introduced and applied to the monitoring application domain in modeling and implementation. Based on a common use case for monitoring systems (i.e., monitoring and autoscaling of a web service infrastructure), the resulting Role-based Monitoring Approach (RBMA) is compared to two state-of-the-art monitoring toolkits. This is followed by a qualitative and quantitative evaluation of RBMA, showing that it is more flexible and, at the same time, provides reasonable performance at no additional cost compared to the state-of-the-art tools. Finally, it is explained how this thesis’ contributions can be applied to another monitoring use case (i.e., network device monitoring) as well as to another application domain (i.e., embedded systems monitoring) and its extension (i.e., the Internet of Things domain). This thesis concludes with a summary of the contributions and a presentation of important topics for future work.:Preface iv Statement of Authorship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii The RoSI Research Training Group . . . . . . . . . . . . . . . . . . . . . . . . . . x 1 Introduction 1 1.1 Thesis Topic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Thesis Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Research Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Background 5 2.1 Principles of Self-adaptation . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.1 The MAPE-K Control Loop . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.2 MAPE-K Patterns for Distributed Self-adaptive Systems . . . . . . 12 2.1.3 MAPE-K Control Loop in Monitoring Systems . . . . . . . . . . . 16 2.2 The Notion of Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3 The Compartment Role Object Meta-Model . . . . . . . . . . . . . . . . . . 24 2.4 The ObjectTeams Java Programming Model . . . . . . . . . . . . . . . . . . 26 2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3 Related Work 31 3.1 Design Patterns for Flexibility in Software . . . . . . . . . . . . . . . . . . . 31 3.1.1 Strategy Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.2 Template Method Pattern . . . . . . . . . . . . . . . . . . . . . . . . 34 3.1.3 Using Delegation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.1.4 Role-object Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2 Classifying Flexibility in Monitoring Systems . . . . . . . . . . . . . . . . . 39 3.2.1 Criteria for Flexibility in Monitoring Systems . . . . . . . . . . . . 40 3.2.2 Classification of Flexibility in Monitoring Systems . . . . . . . . . 44 3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4 The Role-based Monitoring Approach 47 4.1 Framework and Model for Context-sensitive Control Loops with Roles . 48 4.2 Evaluation Scenario: Autoscaling of Web Service Infrastructures . . . . . 54 4.2.1 Version 1: Role-based Monitoring Approach . . . . . . . . . . . . . 59 4.2.2 Version 2: Prometheus with Alertmanager . . . . . . . . . . . . . . 70 4.2.3 Version 3: Elasticsearch with Kibana . . . . . . . . . . . . . . . . . . 73 iii Contents 4.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5 Evaluation 77 5.1 Quantitative Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.1.1 First Experiment (Correct Functionality) . . . . . . . . . . . . . . . 78 5.1.2 Second Experiment (Idle Performance) . . . . . . . . . . . . . . . . 80 5.1.3 Third Experiment (Performance under Load) . . . . . . . . . . . . 80 5.2 Qualitative Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.3 Additional Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.3.1 Monitoring Network Devices . . . . . . . . . . . . . . . . . . . . . . 87 5.3.2 Flexible Embedded Systems Management . . . . . . . . . . . . . . 90 5.3.3 Managing Internet of Things Devices . . . . . . . . . . . . . . . . . 92 6 Conclusion and Future Work 95 6.1 Summary of Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.2 Topics for Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Bibliography 99 List of Figures 107 List of Tables 109 List of Listings 110 List of Abbreviations 111 A Implementation, Compilation, and Execution of RBMA 113 A.1 Implementation of Base Classes . . . . . . . . . . . . . . . . . . . . . . . . . 113 A.2 Implementation of Team- and inner Role Classes . . . . . . . . . . . . . . . 121 A.3 Implementation of Auxiliary Classes . . . . . . . . . . . . . . . . . . . . . . 139 A.4 Compilation of RBMA with Eclipse OT/J . . . . . . . . . . . . . . . . . . . 144 A.5 Execution of RBMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 B Additional Information: Autoscaling of Web Service Infrastructures 145 B.1 Setup of the Slave-level Clusters (Versions 1, 2, and 3) . . . . . . . . . . . . 145 B.2 RBMA: Setup of the Master-level Cluster (Version 1) . . . . . . . . . . . . 156 B.3 Prometheus: Setup of Master-level Cluster (Version 2) . . . . . . . . . . . 160 B.4 Elastic Stack: Setup of the Master-level Cluster (Version 3) . . . . . . . . . 165 B.5 Auxiliary Tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 C Large Figures 179

Page generated in 0.1537 seconds