End-to-end quality-of-service (QoS) support in middleware is critical to achieve publish/subscrib... more End-to-end quality-of-service (QoS) support in middleware is critical to achieve publish/subscribe (pub/sub)-based distributed real-time and embedded (DRE) systems. This poster describes ongoing work on supporting QoS properties over wide area networks within the OMG's Data Distribution Service (DDS) by leveraging the Session Initiation Protocol (SIP) and Session Description Protocol (SDP).
Emerging trends and challenges. The number and type of distributed systems that utilize publish/s... more Emerging trends and challenges. The number and type of distributed systems that utilize publish/subscribe (pub/sub) technologies are growing due to the advantages of performance, cost, and scale compared with single computers [1, 2]. Examples of pub/sub middleware include Web Services Brokered Notification (www.oasis-open.org/ committees/tc_home.php?wg_abbrev=wsn), the Java Message Service (JMS) (java.sun.com/products/jms), the CORBA Event Service (www.omg.org/technology/documents/formal/ event_service.htm), and the Data Distribution Service (DDS) (www.omg.org/spec/DDS). These technologies support data propagation throughout a system using an anonymous subscription model that decouples event suppliers and consumers. Pub/sub middleware is used in many application domains, ranging from shipboard computing environments to fractionated spacecraft constellations. The middleware supports policies that affect the end-to-end QoS of the system. Common policies across different middleware include persistence (i.e., saving data for current subscribers), durability (i.e., saving data for subsequent subscribers), and grouped data transfer (i.e., transmitting a group of data as an atomic unit). While tunable policies provide fine-grained control of system QoS, several challenges emerge when developing pub/sub systems deployed in dynamic environments. Mechanisms used by the middleware to ensure certain QoS properties for a given environment configuration may not be applicable for a different environment configuration. For example, a simple unicast protocol (such as UDP) may provide adequate latency QoS when a publisher sends to a small number of subscribers. UDP can incur too much latency, however, when used for a large number of subscribers due to publishers sending UDP messages to each individual subscriber. Challenges also arise when managing multiple QoS poli-* This work is supported in part by the AFRL/IF Pollux project and NSF TRUST.
Often in distributed applications, protocols are used to negotiate functionality between distribu... more Often in distributed applications, protocols are used to negotiate functionality between distributed components. It can be difficult to manage the interactions of protocol messages when they are negotiating functionality between these distributed components. The Control Message pattern simplifies message management by allowing messages to suspend and resume their executions based on replies received. This pattern can be generalized to objects waiting for events. An example usage is shown along with the benefits and liabilities of using the pattern. An implementation outline is also provided along with some sample code. Finally, patterns related to the Control Message pattern are listed.
Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides the infrastructu... more Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides the infrastructure needed to disseminate data predictably, reliably, and scalably in distributed real-time and embedded (DRE) systems. Maintaining QoS properties as the operating environment fluctuates is challenging, however, since the chosen mechanism (e.g., transport protocol or caching algorithm for data persistence) may no longer provide the needed QoS. Moreover, some adaptation approaches are tailored for particular types of operating environments, such as environments whose configuration properties (e.g., number of data receivers or data sending rate) are known prior to runtime versus unknown until runtime. For DRE pub/sub systems operating in dynamic environments, adjustments to mechanisms must be timely, accurate for known environments, and resilient to environments unknown until runtime. Several adaptation approaches, such as policy-based [1] and reinforcement learning [2] have been developed to ensure end-to-end quality-of-service (QoS) for enterprise distributed systems in dynamic operating environments. Not all approaches are applicable for DRE pub/sub systems, however, due to their stringent accuracy, timeliness, and development complexity requirements. Supervised machine learning techniques, such as artificial neural networks (ANNs) [3] and support vector machines (SVMs) [4], are promising approaches to address the accuracy, time complexity, and development complexity concerns of adaptive enterprise DRE systems. This article describes the results of research that (1) empirically evaluates supervised machine learning techniques used to adapt the transport protocols of QoS-enabled pub/sub middleware autonomically in a dynamic environment and (2) integrates multiple techniques to increase accuracy for environments known a priori and not known until runtime. Our results show that both ANNs and SVMs provide constant time complexity, low latency, and reduced development complexity. ANNs are generally more accurate in providing adaptation guidance for environments whose properties are known prior to runtime and provide sub-μsec response times, whereas SVMs provide higher accuracy with μsec latencies for environments whose properties are not known until runtime. Both approaches can be leveraged together with QoS-enabled pub/sub middleware to address the timeliness, accuracy, and development complexity needs of enterprise DRE systems executing in dynamic environments.
Timely discovery of services in ultra-large scale (ULS) systems plays a vital role in critical ar... more Timely discovery of services in ultra-large scale (ULS) systems plays a vital role in critical areas, such as national power grids, homeland security, and health care. This paper develops a taxonomy for classifying discovery services and presents an overview of existing discovery service technologies. It then classifies these discovery services using the taxonomy and performs a gap analysis for discovery services with respect to emerging ULS systems. Our results show that while discovery services are fairly mature and broadly applicable to today's systems much R&D remains to support emerging systems of ultra-large scale effectively.
Many distributed publish/subscribe (pub/sub) middleware platforms provide flexibility in configur... more Many distributed publish/subscribe (pub/sub) middleware platforms provide flexibility in configuring policies that affect end-toend quality of service (QoS). While the functionality and tunability of pub/sub middleware has increased, so has the complexity of creating semantically compatible QoS policy configurations. This paper makes three contributions to addressing these challenges. First, it systematically analyzes three approaches for managing complex QoS policy configurations in pub/sub middleware platforms. Second, it describes how a domain-specific modeling language (DSML) can automate the analysis and synthesis of semantically compatible QoS policy configurations. Third, it empirically evaluates how this DSML increases productivity when generating valid QoS policy configurations.
Enterprise distributed real-time and embedded (DRE) publish/ subscribe (pub/sub) systems manage r... more Enterprise distributed real-time and embedded (DRE) publish/ subscribe (pub/sub) systems manage resources and data that are vital to users. Cloud computing-where computing resources are provisioned elastically and leased as a service-is an increasingly popular deployment paradigm. Enterprise DRE pub/sub systems can leverage cloud computing provisioning services to execute needed functionality when on-site computing resources are not available. Although cloud computing provides flexible on-demand computing and networking resources, enterprise DRE pub/sub systems often cannot accurately characterize their behavior a priori for the variety of resource configurations cloud computing supplies (e.g., CPU and network bandwidth), which makes it hard for DRE systems to leverage conventional cloud computing platforms. This paper provides two contributions to the study of how autonomic configuration of DRE pub/sub middleware can provision and use on-demand cloud resources effectively. We first describe how supervised machine learning can configure DRE pub/sub middleware services and transport protocols autonomically to support end-to-end quality-of-service (QoS) requirements based on cloud computing resources. We then present results that empirically validate how computing and networking resources affect enterprise DRE pub/sub system QoS. These results show how supervised machine learning can configure DRE pub/sub middleware adaptively in < 10 µsec with bounded time complexity to support key QoS reliability and latency requirements.
International Journal of Computational Intelligence Systems, 2011
Several adaptation approaches have been devised to ensure end-to-end quality-of-service (QoS) for... more Several adaptation approaches have been devised to ensure end-to-end quality-of-service (QoS) for enterprise distributed systems in dynamic operating environments. Not all approaches are applicable, however, for the stringent accuracy, timeliness, and development complexity requirements of distributed real-time and embedded (DRE) systems. This paper empirically evaluates constant-time supervised machine learning techniques, such as artificial neural networks (ANNs) and support vector machines (SVMs), and presents a composite metric to support quantitative evaluation of accuracy and timeliness for these adaptation approaches.
Quality of Service (QoS)-enabled publish/subscribe (pub/sub) middleware provides much needed infr... more Quality of Service (QoS)-enabled publish/subscribe (pub/sub) middleware provides much needed infrastructure for data dissemination in distributed real-time and embedded (DRE) systems. It is hard, however, to quantify the performance of mechanisms that support multiple interrelated QoS concerns, e.g., reliability, latency, and jitter. Moreover, once an appropriate mechanism is selected, it is hard to maintain QoS properties as the operating environment fluctuates since the chosen mechanism might no longer provide the needed QoS. For DRE systems operating in such environments, adjustments to mechanisms supporting QoS must be both timely and resilient to unforeseen environments. This paper describes our work to (1) define composite metrics to evaluate multiple interrelated QoS concerns and (2) analyze various adjustment techniques (i.e., policy-based approaches, machine learning techniques) used for the QoS mechanisms of a DRE system in a dynamic environment. Our results show that (1) composite metrics quantify the support that mechanisms provide for multiple QoS concerns to ease mechanism evaluation and creation of related composite metrics and (2) neural network machine learning techniques provide the constant-time complexity needed for DRE pub/sub systems to determine adjustments and the robustness to handle unknown environments.
Model-driven engineering (MDE), in general, and Domain-Specific Modeling Languages (DSMLs), in pa... more Model-driven engineering (MDE), in general, and Domain-Specific Modeling Languages (DSMLs), in particular, are increasingly used to manage the complexity of developing applications in various domains. Although many DSML benefits are qualitative (e.g., ease of use, familiarity of domain concepts), there is a need to quantitatively demonstrate the benefits of DSMLs (e.g., quantify when DSMLs provide savings in development time) to simplify comparison and evaluation. This chapter describes how we conducted productivity analysis for the Distributed Quality-of-Service (QoS) Modeling Language (DQML). Our analysis shows (1) the significant productivity gain using DQML compared with alternative methods when configuring application entities and (2) the viability of quantitative productivity metrics for DSMLs.
Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides powerful support... more Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides powerful support for scalable data dissemination. It is hard, however, to maintain specified QoS properties (such as reliability and latency) in dynamic environments (such as disaster relief operations or power grids). For example, managing QoS manually is often not feasible in dynamic systems due to (1) slow human response times, (2) the complexity of managing multiple interrelated QoS settings, and (3) the scale of the systems being managed. For certain applications the systems must be able to reflect on the conditions of their environment and adapt accordingly. Machine learning techniques provide a promising adaptation approach to maintaining QoS properties of QoS-enabled pub/sub middleware in dynamic environments. These techniques include decision trees, neural networks, and linear logistic regression classifiers that can be trained on existing data to interpolate and extrapolate for new data. By training the machine learning techniques with system performance metrics in a wide variety of configurations, changes to middleware mechanisms (e.g., associations of publishers and subscribers to transport protocols) can be driven by machine learning to maintain specified QoS. This paper describes how we are applying machine learning techniques to simplify the configuration of QoS-enabled middleware and adaptive transport protocols to maintain specified QoS as systems change dynamically. The results of our work thus far show that decision trees and neural networks can effectively classify the best protocols to use. In particular, decision trees answer questions about which measurements and variables are most important when considering the reliability and latency of pub/sub systems.
International Journal of Adaptive, Resilient and Autonomic Systems, Oct 1, 2011
Quality-of-service enabled publish/subscribe (pub/sub) middleware provides powerful support for s... more Quality-of-service enabled publish/subscribe (pub/sub) middleware provides powerful support for scalable data dissemination. It is difficult to maintain key quality of service properties (such as reliability and latency) in dynamic environments for distributed real-time and embedded systems (such as disaster relief operations or power grids). Managing quality of service manually is often not feasible in dynamic environments due to slow response times, the complexity of managing multiple interrelated quality of service settings, and the scale of the systems being managed. For certain domains, distributed real-time and embedded systems must be able to reflect on the conditions of their environment and adapt accordingly in a bounded amount of time. This paper describes an architecture of quality of service-enabled middleware and corresponding algorithms to support specified quality of service in dynamic environments.
The Chandy-Misra dining philosophers algorithm is based on a static undirected resource conflict ... more The Chandy-Misra dining philosophers algorithm is based on a static undirected resource conflict graph H in which each vertex represents a process and each edge represents potential resource conflict. The algorithm creates a distributed priority graph by implicitly assigning a direction to each edge in the static graph based on priority of the incident processes for using a resource. The priorities change over time to prevent starvation and the algorithm maintains acyclicity of the priority graph to prevent deadlock. In this paper, we present some simple modifications to the algorithm that allow the potential resource conflict graph H to vary over time, with the addition and deletion of both processes (vertices) and potential conflicts (edges) dynamically. Our algorithm guarantees that no waiting process will be bypassed more than once by any other process in the system.
Advances in systems analysis, software engineering, and high performance computing book series, 2015
Model-driven engineering (MDE), in general, and Domain-Specific Modeling Languages (DSMLs), in pa... more Model-driven engineering (MDE), in general, and Domain-Specific Modeling Languages (DSMLs), in particular, are increasingly used to manage the complexity of developing applications in various domains. Although many DSML benefits are qualitative (e.g., ease of use, familiarity of domain concepts), there is a need to quantitatively demonstrate the benefits of DSMLs (e.g., quantify when DSMLs provide savings in development time) to simplify comparison and evaluation. This chapter describes how we conducted quantitative productivity analysis for a DSML (i.e., the Distributed Quality-of-Service (QoS) Modeling Language (DQML)). Our analysis shows (1) the significant quantitative productivity gain achieved when using a DSML to develop configuration models compared with not using a DSML, (2) the significant quantitative productivity gain achieved when using a DSML interpreter to automatically generate implementation artifacts as compared to alternative methods when configuring application entities, and (3) the viability of quantitative productivity metrics for DSMLs.
There are times when the execution of an object needs to be suspended and later resumed either du... more There are times when the execution of an object needs to be suspended and later resumed either due to the object responding to external events or processing requirements internal to the object. The Microthread pattern simplifies the management of an object's execution when the object needs to start, stop, and resume its execution. This pattern has shown itself to be useful in both stand alone and distributed applications. An example usage is shown along with the benefits and liabilities of using the pattern. An implementation outline is also provided along with some sample code. Finally, patterns related to the Microthread pattern are listed.
Real-time event stream processing (RT-ESP) applications must synchronize continuous data streams ... more Real-time event stream processing (RT-ESP) applications must synchronize continuous data streams despite fluctuations in resource availability. Satisfying these needs of RT-ESP applications requires predictable QoS from the underlying publish/subscribe (pub/sub) middleware. If a transport protocol is not capable of meeting the QoS requirements within a dynamic environment, the middleware must be flexible enough to tune the existing transport protocol or switch to a transport protocol better suited to the changing operating conditions. Realizing such adaptive RT-ESP pub/sub middleware requires a thorough understanding of how different transport protocols behave under different operating conditions. This paper makes three contributions to work on achieving that understanding. First, we define ReLate2, which is an evaluation metric that combines packet latency and reliability to evaluate transport protocol performance. Second, we use the ReLate2 metric to quantify the performance of various transport protocols integrated with the OMG's Data Distribution Service (DDS) QoS-enabled pub/sub middleware standard using our FLEXible Middleware And Transports (FLEX-MAT) prototype for experiments that capture performance data. Third, we use ReLate2 to pinpoint configurations involving sending rate, network loss, and number of receivers that show the pros and cons of the protocols.
Model-driven engineering (MDE) helps address the problems of designing, implementing, and integra... more Model-driven engineering (MDE) helps address the problems of designing, implementing, and integrating software applications. MDE is increasingly used in domains involving modeling software components, developing embedded software systems, and configuring quality-of-service (QoS) policies. Key benefits of MDE include (1) raising the level of abstraction to alleviate accidental complexities of low-level and heterogeneous software platforms, (2) more effectively expressing designer intent for concepts in a domain, and (3) enforcing domain-specific development constraints.
Often in distributed applications, protocols are used to negotiate functionality between distribu... more Often in distributed applications, protocols are used to negotiate functionality between distributed components. It can be difficult to manage the interactions of protocol messages when they are negotiating functionality between these distributed components. The Control Message pattern simplifies message management by allowing messages to suspend and resume their executions based on replies received. This pattern can be generalized to objects waiting for events. An example usage is shown along with the benefits and liabilities of using the pattern. An implementation outline is also provided along with some sample code. Finally, patterns related to the Control Message pattern are listed.
Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides powerful support... more Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides powerful support for large-scale data dissemination. It is hard, however, to maintain specified QoS properties (such as reliability and latency) in dynamic environments (such as disaster relief operations or power grids). For example, managing QoS manually is not feasible in largescale dynamic systems due to (1) slow human response times, (2) the complexity of managing multiple interrelated QoS settings, and (3) the scale of the systems being managed. Machine learning techniques provide a promising approach to maintaining QoS properties of QoS-enabled pub/sub middleware in large-scale dynamic environments. These techniques include decision trees, neural networks, and linear logistic regression classifiers that can be trained on existing data to interpolate and extrapolate for new data. By training the machine learning techniques with system performance metrics in a wide variety of configurations, changes to middleware mechanisms (e.g., associations of publishers and subscribers to transport protocols) can be driven by machine learning to maintain specified QoS. This paper describes research we are conducting on highly configurable QoS-enabled middleware, adaptive transport protocols, and machine learning techniques. The goal of our approach is to maintain specified QoS as the environment and configuration of large-scale systems changes dynamically. Our preliminary research shows that decision trees and neural networks provide strong initial classification of the best protocols to use. The decisions trees' results answer questions about which measurements and variables are most important when considering the optimal network configurations from a reliability and latency standpoint.
Large-scale datacenters that handle continuous data streams require scalable and flexible communi... more Large-scale datacenters that handle continuous data streams require scalable and flexible communication infrastructure. The scalability of publish/subscribe (pub/sub) middleware coupled with fine-grained quality-of-service (QoS) support and adaptive transport protocols constitutes a promising area of research to address the challenges of these types of large-scale datacenters. This paper describes how we are integrating pub/sub middleware with an adaptive transport protocol framework to support composable functionality for properties that—coupled with the finegrained QoS middlware support—can meet the required QoS of data conferencing applications that coordinate and manage multiple continuous data streams. 1
End-to-end quality-of-service (QoS) support in middleware is critical to achieve publish/subscrib... more End-to-end quality-of-service (QoS) support in middleware is critical to achieve publish/subscribe (pub/sub)-based distributed real-time and embedded (DRE) systems. This poster describes ongoing work on supporting QoS properties over wide area networks within the OMG's Data Distribution Service (DDS) by leveraging the Session Initiation Protocol (SIP) and Session Description Protocol (SDP).
Emerging trends and challenges. The number and type of distributed systems that utilize publish/s... more Emerging trends and challenges. The number and type of distributed systems that utilize publish/subscribe (pub/sub) technologies are growing due to the advantages of performance, cost, and scale compared with single computers [1, 2]. Examples of pub/sub middleware include Web Services Brokered Notification (www.oasis-open.org/ committees/tc_home.php?wg_abbrev=wsn), the Java Message Service (JMS) (java.sun.com/products/jms), the CORBA Event Service (www.omg.org/technology/documents/formal/ event_service.htm), and the Data Distribution Service (DDS) (www.omg.org/spec/DDS). These technologies support data propagation throughout a system using an anonymous subscription model that decouples event suppliers and consumers. Pub/sub middleware is used in many application domains, ranging from shipboard computing environments to fractionated spacecraft constellations. The middleware supports policies that affect the end-to-end QoS of the system. Common policies across different middleware include persistence (i.e., saving data for current subscribers), durability (i.e., saving data for subsequent subscribers), and grouped data transfer (i.e., transmitting a group of data as an atomic unit). While tunable policies provide fine-grained control of system QoS, several challenges emerge when developing pub/sub systems deployed in dynamic environments. Mechanisms used by the middleware to ensure certain QoS properties for a given environment configuration may not be applicable for a different environment configuration. For example, a simple unicast protocol (such as UDP) may provide adequate latency QoS when a publisher sends to a small number of subscribers. UDP can incur too much latency, however, when used for a large number of subscribers due to publishers sending UDP messages to each individual subscriber. Challenges also arise when managing multiple QoS poli-* This work is supported in part by the AFRL/IF Pollux project and NSF TRUST.
Often in distributed applications, protocols are used to negotiate functionality between distribu... more Often in distributed applications, protocols are used to negotiate functionality between distributed components. It can be difficult to manage the interactions of protocol messages when they are negotiating functionality between these distributed components. The Control Message pattern simplifies message management by allowing messages to suspend and resume their executions based on replies received. This pattern can be generalized to objects waiting for events. An example usage is shown along with the benefits and liabilities of using the pattern. An implementation outline is also provided along with some sample code. Finally, patterns related to the Control Message pattern are listed.
Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides the infrastructu... more Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides the infrastructure needed to disseminate data predictably, reliably, and scalably in distributed real-time and embedded (DRE) systems. Maintaining QoS properties as the operating environment fluctuates is challenging, however, since the chosen mechanism (e.g., transport protocol or caching algorithm for data persistence) may no longer provide the needed QoS. Moreover, some adaptation approaches are tailored for particular types of operating environments, such as environments whose configuration properties (e.g., number of data receivers or data sending rate) are known prior to runtime versus unknown until runtime. For DRE pub/sub systems operating in dynamic environments, adjustments to mechanisms must be timely, accurate for known environments, and resilient to environments unknown until runtime. Several adaptation approaches, such as policy-based [1] and reinforcement learning [2] have been developed to ensure end-to-end quality-of-service (QoS) for enterprise distributed systems in dynamic operating environments. Not all approaches are applicable for DRE pub/sub systems, however, due to their stringent accuracy, timeliness, and development complexity requirements. Supervised machine learning techniques, such as artificial neural networks (ANNs) [3] and support vector machines (SVMs) [4], are promising approaches to address the accuracy, time complexity, and development complexity concerns of adaptive enterprise DRE systems. This article describes the results of research that (1) empirically evaluates supervised machine learning techniques used to adapt the transport protocols of QoS-enabled pub/sub middleware autonomically in a dynamic environment and (2) integrates multiple techniques to increase accuracy for environments known a priori and not known until runtime. Our results show that both ANNs and SVMs provide constant time complexity, low latency, and reduced development complexity. ANNs are generally more accurate in providing adaptation guidance for environments whose properties are known prior to runtime and provide sub-μsec response times, whereas SVMs provide higher accuracy with μsec latencies for environments whose properties are not known until runtime. Both approaches can be leveraged together with QoS-enabled pub/sub middleware to address the timeliness, accuracy, and development complexity needs of enterprise DRE systems executing in dynamic environments.
Timely discovery of services in ultra-large scale (ULS) systems plays a vital role in critical ar... more Timely discovery of services in ultra-large scale (ULS) systems plays a vital role in critical areas, such as national power grids, homeland security, and health care. This paper develops a taxonomy for classifying discovery services and presents an overview of existing discovery service technologies. It then classifies these discovery services using the taxonomy and performs a gap analysis for discovery services with respect to emerging ULS systems. Our results show that while discovery services are fairly mature and broadly applicable to today's systems much R&D remains to support emerging systems of ultra-large scale effectively.
Many distributed publish/subscribe (pub/sub) middleware platforms provide flexibility in configur... more Many distributed publish/subscribe (pub/sub) middleware platforms provide flexibility in configuring policies that affect end-toend quality of service (QoS). While the functionality and tunability of pub/sub middleware has increased, so has the complexity of creating semantically compatible QoS policy configurations. This paper makes three contributions to addressing these challenges. First, it systematically analyzes three approaches for managing complex QoS policy configurations in pub/sub middleware platforms. Second, it describes how a domain-specific modeling language (DSML) can automate the analysis and synthesis of semantically compatible QoS policy configurations. Third, it empirically evaluates how this DSML increases productivity when generating valid QoS policy configurations.
Enterprise distributed real-time and embedded (DRE) publish/ subscribe (pub/sub) systems manage r... more Enterprise distributed real-time and embedded (DRE) publish/ subscribe (pub/sub) systems manage resources and data that are vital to users. Cloud computing-where computing resources are provisioned elastically and leased as a service-is an increasingly popular deployment paradigm. Enterprise DRE pub/sub systems can leverage cloud computing provisioning services to execute needed functionality when on-site computing resources are not available. Although cloud computing provides flexible on-demand computing and networking resources, enterprise DRE pub/sub systems often cannot accurately characterize their behavior a priori for the variety of resource configurations cloud computing supplies (e.g., CPU and network bandwidth), which makes it hard for DRE systems to leverage conventional cloud computing platforms. This paper provides two contributions to the study of how autonomic configuration of DRE pub/sub middleware can provision and use on-demand cloud resources effectively. We first describe how supervised machine learning can configure DRE pub/sub middleware services and transport protocols autonomically to support end-to-end quality-of-service (QoS) requirements based on cloud computing resources. We then present results that empirically validate how computing and networking resources affect enterprise DRE pub/sub system QoS. These results show how supervised machine learning can configure DRE pub/sub middleware adaptively in < 10 µsec with bounded time complexity to support key QoS reliability and latency requirements.
International Journal of Computational Intelligence Systems, 2011
Several adaptation approaches have been devised to ensure end-to-end quality-of-service (QoS) for... more Several adaptation approaches have been devised to ensure end-to-end quality-of-service (QoS) for enterprise distributed systems in dynamic operating environments. Not all approaches are applicable, however, for the stringent accuracy, timeliness, and development complexity requirements of distributed real-time and embedded (DRE) systems. This paper empirically evaluates constant-time supervised machine learning techniques, such as artificial neural networks (ANNs) and support vector machines (SVMs), and presents a composite metric to support quantitative evaluation of accuracy and timeliness for these adaptation approaches.
Quality of Service (QoS)-enabled publish/subscribe (pub/sub) middleware provides much needed infr... more Quality of Service (QoS)-enabled publish/subscribe (pub/sub) middleware provides much needed infrastructure for data dissemination in distributed real-time and embedded (DRE) systems. It is hard, however, to quantify the performance of mechanisms that support multiple interrelated QoS concerns, e.g., reliability, latency, and jitter. Moreover, once an appropriate mechanism is selected, it is hard to maintain QoS properties as the operating environment fluctuates since the chosen mechanism might no longer provide the needed QoS. For DRE systems operating in such environments, adjustments to mechanisms supporting QoS must be both timely and resilient to unforeseen environments. This paper describes our work to (1) define composite metrics to evaluate multiple interrelated QoS concerns and (2) analyze various adjustment techniques (i.e., policy-based approaches, machine learning techniques) used for the QoS mechanisms of a DRE system in a dynamic environment. Our results show that (1) composite metrics quantify the support that mechanisms provide for multiple QoS concerns to ease mechanism evaluation and creation of related composite metrics and (2) neural network machine learning techniques provide the constant-time complexity needed for DRE pub/sub systems to determine adjustments and the robustness to handle unknown environments.
Model-driven engineering (MDE), in general, and Domain-Specific Modeling Languages (DSMLs), in pa... more Model-driven engineering (MDE), in general, and Domain-Specific Modeling Languages (DSMLs), in particular, are increasingly used to manage the complexity of developing applications in various domains. Although many DSML benefits are qualitative (e.g., ease of use, familiarity of domain concepts), there is a need to quantitatively demonstrate the benefits of DSMLs (e.g., quantify when DSMLs provide savings in development time) to simplify comparison and evaluation. This chapter describes how we conducted productivity analysis for the Distributed Quality-of-Service (QoS) Modeling Language (DQML). Our analysis shows (1) the significant productivity gain using DQML compared with alternative methods when configuring application entities and (2) the viability of quantitative productivity metrics for DSMLs.
Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides powerful support... more Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides powerful support for scalable data dissemination. It is hard, however, to maintain specified QoS properties (such as reliability and latency) in dynamic environments (such as disaster relief operations or power grids). For example, managing QoS manually is often not feasible in dynamic systems due to (1) slow human response times, (2) the complexity of managing multiple interrelated QoS settings, and (3) the scale of the systems being managed. For certain applications the systems must be able to reflect on the conditions of their environment and adapt accordingly. Machine learning techniques provide a promising adaptation approach to maintaining QoS properties of QoS-enabled pub/sub middleware in dynamic environments. These techniques include decision trees, neural networks, and linear logistic regression classifiers that can be trained on existing data to interpolate and extrapolate for new data. By training the machine learning techniques with system performance metrics in a wide variety of configurations, changes to middleware mechanisms (e.g., associations of publishers and subscribers to transport protocols) can be driven by machine learning to maintain specified QoS. This paper describes how we are applying machine learning techniques to simplify the configuration of QoS-enabled middleware and adaptive transport protocols to maintain specified QoS as systems change dynamically. The results of our work thus far show that decision trees and neural networks can effectively classify the best protocols to use. In particular, decision trees answer questions about which measurements and variables are most important when considering the reliability and latency of pub/sub systems.
International Journal of Adaptive, Resilient and Autonomic Systems, Oct 1, 2011
Quality-of-service enabled publish/subscribe (pub/sub) middleware provides powerful support for s... more Quality-of-service enabled publish/subscribe (pub/sub) middleware provides powerful support for scalable data dissemination. It is difficult to maintain key quality of service properties (such as reliability and latency) in dynamic environments for distributed real-time and embedded systems (such as disaster relief operations or power grids). Managing quality of service manually is often not feasible in dynamic environments due to slow response times, the complexity of managing multiple interrelated quality of service settings, and the scale of the systems being managed. For certain domains, distributed real-time and embedded systems must be able to reflect on the conditions of their environment and adapt accordingly in a bounded amount of time. This paper describes an architecture of quality of service-enabled middleware and corresponding algorithms to support specified quality of service in dynamic environments.
The Chandy-Misra dining philosophers algorithm is based on a static undirected resource conflict ... more The Chandy-Misra dining philosophers algorithm is based on a static undirected resource conflict graph H in which each vertex represents a process and each edge represents potential resource conflict. The algorithm creates a distributed priority graph by implicitly assigning a direction to each edge in the static graph based on priority of the incident processes for using a resource. The priorities change over time to prevent starvation and the algorithm maintains acyclicity of the priority graph to prevent deadlock. In this paper, we present some simple modifications to the algorithm that allow the potential resource conflict graph H to vary over time, with the addition and deletion of both processes (vertices) and potential conflicts (edges) dynamically. Our algorithm guarantees that no waiting process will be bypassed more than once by any other process in the system.
Advances in systems analysis, software engineering, and high performance computing book series, 2015
Model-driven engineering (MDE), in general, and Domain-Specific Modeling Languages (DSMLs), in pa... more Model-driven engineering (MDE), in general, and Domain-Specific Modeling Languages (DSMLs), in particular, are increasingly used to manage the complexity of developing applications in various domains. Although many DSML benefits are qualitative (e.g., ease of use, familiarity of domain concepts), there is a need to quantitatively demonstrate the benefits of DSMLs (e.g., quantify when DSMLs provide savings in development time) to simplify comparison and evaluation. This chapter describes how we conducted quantitative productivity analysis for a DSML (i.e., the Distributed Quality-of-Service (QoS) Modeling Language (DQML)). Our analysis shows (1) the significant quantitative productivity gain achieved when using a DSML to develop configuration models compared with not using a DSML, (2) the significant quantitative productivity gain achieved when using a DSML interpreter to automatically generate implementation artifacts as compared to alternative methods when configuring application entities, and (3) the viability of quantitative productivity metrics for DSMLs.
There are times when the execution of an object needs to be suspended and later resumed either du... more There are times when the execution of an object needs to be suspended and later resumed either due to the object responding to external events or processing requirements internal to the object. The Microthread pattern simplifies the management of an object's execution when the object needs to start, stop, and resume its execution. This pattern has shown itself to be useful in both stand alone and distributed applications. An example usage is shown along with the benefits and liabilities of using the pattern. An implementation outline is also provided along with some sample code. Finally, patterns related to the Microthread pattern are listed.
Real-time event stream processing (RT-ESP) applications must synchronize continuous data streams ... more Real-time event stream processing (RT-ESP) applications must synchronize continuous data streams despite fluctuations in resource availability. Satisfying these needs of RT-ESP applications requires predictable QoS from the underlying publish/subscribe (pub/sub) middleware. If a transport protocol is not capable of meeting the QoS requirements within a dynamic environment, the middleware must be flexible enough to tune the existing transport protocol or switch to a transport protocol better suited to the changing operating conditions. Realizing such adaptive RT-ESP pub/sub middleware requires a thorough understanding of how different transport protocols behave under different operating conditions. This paper makes three contributions to work on achieving that understanding. First, we define ReLate2, which is an evaluation metric that combines packet latency and reliability to evaluate transport protocol performance. Second, we use the ReLate2 metric to quantify the performance of various transport protocols integrated with the OMG's Data Distribution Service (DDS) QoS-enabled pub/sub middleware standard using our FLEXible Middleware And Transports (FLEX-MAT) prototype for experiments that capture performance data. Third, we use ReLate2 to pinpoint configurations involving sending rate, network loss, and number of receivers that show the pros and cons of the protocols.
Model-driven engineering (MDE) helps address the problems of designing, implementing, and integra... more Model-driven engineering (MDE) helps address the problems of designing, implementing, and integrating software applications. MDE is increasingly used in domains involving modeling software components, developing embedded software systems, and configuring quality-of-service (QoS) policies. Key benefits of MDE include (1) raising the level of abstraction to alleviate accidental complexities of low-level and heterogeneous software platforms, (2) more effectively expressing designer intent for concepts in a domain, and (3) enforcing domain-specific development constraints.
Often in distributed applications, protocols are used to negotiate functionality between distribu... more Often in distributed applications, protocols are used to negotiate functionality between distributed components. It can be difficult to manage the interactions of protocol messages when they are negotiating functionality between these distributed components. The Control Message pattern simplifies message management by allowing messages to suspend and resume their executions based on replies received. This pattern can be generalized to objects waiting for events. An example usage is shown along with the benefits and liabilities of using the pattern. An implementation outline is also provided along with some sample code. Finally, patterns related to the Control Message pattern are listed.
Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides powerful support... more Quality-of-service (QoS)-enabled publish/subscribe (pub/sub) middleware provides powerful support for large-scale data dissemination. It is hard, however, to maintain specified QoS properties (such as reliability and latency) in dynamic environments (such as disaster relief operations or power grids). For example, managing QoS manually is not feasible in largescale dynamic systems due to (1) slow human response times, (2) the complexity of managing multiple interrelated QoS settings, and (3) the scale of the systems being managed. Machine learning techniques provide a promising approach to maintaining QoS properties of QoS-enabled pub/sub middleware in large-scale dynamic environments. These techniques include decision trees, neural networks, and linear logistic regression classifiers that can be trained on existing data to interpolate and extrapolate for new data. By training the machine learning techniques with system performance metrics in a wide variety of configurations, changes to middleware mechanisms (e.g., associations of publishers and subscribers to transport protocols) can be driven by machine learning to maintain specified QoS. This paper describes research we are conducting on highly configurable QoS-enabled middleware, adaptive transport protocols, and machine learning techniques. The goal of our approach is to maintain specified QoS as the environment and configuration of large-scale systems changes dynamically. Our preliminary research shows that decision trees and neural networks provide strong initial classification of the best protocols to use. The decisions trees' results answer questions about which measurements and variables are most important when considering the optimal network configurations from a reliability and latency standpoint.
Large-scale datacenters that handle continuous data streams require scalable and flexible communi... more Large-scale datacenters that handle continuous data streams require scalable and flexible communication infrastructure. The scalability of publish/subscribe (pub/sub) middleware coupled with fine-grained quality-of-service (QoS) support and adaptive transport protocols constitutes a promising area of research to address the challenges of these types of large-scale datacenters. This paper describes how we are integrating pub/sub middleware with an adaptive transport protocol framework to support composable functionality for properties that—coupled with the finegrained QoS middlware support—can meet the required QoS of data conferencing applications that coordinate and manage multiple continuous data streams. 1
Uploads
Papers by Joe Hoffert