Method for managing performance in a distributed system with a broker-based publish-subscribe architecture
A method for managing performance in a distributed system with a broker-based publish-subscribe architecture. The method includes: determining at least one performance requirement of the distributed system on the basis of a network state of the distributed system, wherein the network state is specific to a traffic and/or execution performance of the distributed system; identifying a significant event, wherein the significant event describes a change in the distributed system; changing the distributed system on the basis of the significant event; determining a new network state of the changed distributed system; analyzing the new network state with reference to the at least one performance requirement of the distributed system; carrying out at least one countermeasure depending on a result of the analysis. A computer program, a device, and a storage medium are also described.
1 . A method for managing performance in a distributed system with a broker-based publish-subscribe architecture, the method comprising the following steps:
determining at least one performance requirement of the distributed system based on a network state of the distributed system, wherein the network state is specific to a traffic and/or execution performance of the distributed system;
identifying an event, wherein the event describes a change in the distributed system including a request for a deployment of a new application in the distributed system;
changing the distributed system based on the event;
determining a new network state of the changed distributed system;
analyzing the new network state with respect to the at least one performance requirement of the distributed system; and
carrying out at least one countermeasure depending on a result of the analysis, wherein carrying out the at least one countermeasure comprises:
determining an end-to-end latency of the new application and an available slack, wherein the available slack defines a difference between the end-to-end latency of the new application and a required end-to-end latency of the new application; and
modifying a rate of outgoing messages from at least one module of the new application based on the available slack.
2 . The method according to claim 1 , wherein at least one property of the new application is defined, wherein the at least one property is appended as a further performance requirement to the at least one performance requirement of the distributed system to form a plurality of performance requirements of the distributed system, and wherein the method further comprises the following step:
deploying the at least one module of the new application on at least one edge device of the distributed system taking into account the plurality of performance requirements of the distributed system.
3 . The method according to claim 2 , wherein the at least one countermeasure comprises the following step:
deploying the at least one module of the new application on another edge device of the distributed system taking into account the plurality of performance requirements of the distributed system.
4 . The method according to claim 2 , wherein the at least one countermeasure includes the following step:
deploying at least one module of an existing application of the distributed system on another edge device of the distributed system taking into account the plurality of performance requirements of the distributed system.
5 . A method for managing performance in a distributed system with a broker-based publish-subscribe architecture, the method comprising the following steps:
determining at least one performance requirement of the distributed system based on a network state of the distributed system, wherein the network state is specific to a traffic and/or execution performance of the distributed system;
identifying an event, wherein the event describes a change in the distributed system;
changing the distributed system based on the event;
determining a new network state of the changed distributed system;
analyzing the new network state with respect to the at least one performance requirement of the distributed system; and
carrying out at least one countermeasure depending on a result of the analysis,
wherein the event is a request for a deployment of a new application in the distributed system, wherein at least one property of the new application is defined, wherein the at least one property is appended as a further performance requirement to the at least one performance requirement of the distributed system to form a plurality of performance requirements of the distributed system, and wherein the method further comprises the following steps:
deploying at least one module of the new application on at least one edge device of the distributed system taking into account the plurality of performance requirements of the distributed system;
calculating an end-to-end latency of the new application and an available slack, wherein the available slack is specific to a difference between the end-to-end latency of the new application and a required end-to-end latency of the new application, wherein the required end-to-end latency is defined by the at least one property of the new application; and
modifying a rate of outgoing messages from module components of the new application depending on the calculated available slack.
6 . The method according to claim 1 , wherein the at least one countermeasure comprises the following step:
initiating an output of a notification, the notification indicating that the at least one performance requirement of the distributed system is not met.
7 . The method according to claim 1 , wherein the network state includes at least one of the following factors:
a current traffic injected by module components in the distributed system,
a network topology of the distributed system,
a network service rate of the distributed system, or
a throughput of a broker of the distributed system.
8 . The method according to claim 1 , wherein the determining of the network state of the distributed system includes the following step:
performing an analysis of a throughput of a broker of the distributed system, wherein a minimum, an average, and a worst-case throughput of the broker are determined under a combination of different settings.
9 . The method according to claim 1 , wherein the distributed system includes at least two brokers, and the method further comprises the following step:
clustering application components of the distributed system in order to form in each case one broker of the at least two brokers, wherein the clustering is carried out with reference to the at least one performance requirement of the distributed system.
10 . A data processing device for managing performance in a distributed system with a broker-based publish-subscribe architecture, the data processing device comprising at least one processor configured to:
determine at least one performance requirement of the distributed system based on a network state of the distributed system, wherein the network state is specific to a traffic and/or execution performance of the distributed system;
identify an event, wherein the event describes a change in the distributed system including a request for a deployment of a new application in the distributed system;
change the distributed system based on the event;
determine a new network state of the changed distributed system;
analyze the new network state with respect to the at least one performance requirement of the distributed system; and
carry out at least one countermeasure depending on a result of the analysis, wherein to carry out the at least one countermeasure includes to:
determine an end-to-end latency of the new application and an available slack, wherein the available slack defines a difference between the end-to-end latency of the new application and a required end-to-end latency of the new application; and
modify a rate of outgoing messages from at least one module of the new application based on the available slack.
11 . A non-transitory computer-readable storage medium on which are stored instructions for managing performance in a distributed system with a broker-based publish-subscribe architecture, the instructions, when executed by a computer, causing the computer to perform the following steps:
determining at least one performance requirement of the distributed system based on a network state of the distributed system, wherein the network state is specific to a traffic and/or execution performance of the distributed system;
identifying an event, wherein the event describes a change in the distributed system including a request for a deployment of a new application in the distributed system;
changing the distributed system based on the event;
determining a new network state of the changed distributed system;
analyzing the new network state with respect to the at least one performance requirement of the distributed system; and
carrying out at least one countermeasure depending on a result of the analysis, wherein carrying out the at least one countermeasure comprises:
determining an end-to-end latency of the new application and an available slack, wherein the available slack defines a difference between the end-to-end latency of the new application and a required end-to-end latency of the new application; and
modifying a rate of outgoing messages from at least one module of the new application based on the available slack.
12 . The method according to claim 1 , wherein the required end-to-end latency of the new application is comprised within an application manifest of the distributed system.