PT116948B - APPARATUS AND METHOD FOR LOAD CONTROL MANAGEMENT IN DISTRIBUTED DATA PROCESSING SYSTEM - Google Patents
APPARATUS AND METHOD FOR LOAD CONTROL MANAGEMENT IN DISTRIBUTED DATA PROCESSING SYSTEM Download PDFInfo
- Publication number
- PT116948B PT116948B PT116948A PT11694820A PT116948B PT 116948 B PT116948 B PT 116948B PT 116948 A PT116948 A PT 116948A PT 11694820 A PT11694820 A PT 11694820A PT 116948 B PT116948 B PT 116948B
- Authority
- PT
- Portugal
- Prior art keywords
- load
- unit
- rate
- token
- admission
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
A PRESENTE INVENÇÃO FORNECE UMA SOLUÇÃO DE CONTROLO DE ADMISSÃO (200) PARA UM SISTEMA DE PROCESSAMENTO DE DADOS (500), COM A ADMISSÃO DE EVENTOS DE SERVIÇO (170) EM CADA INTERFACE DE EVENTOS DE SERVIÇO, CONTROLADA POR UM TOKEN BUCKET DE VÁRIOS NÍVEIS, COM TOKENS DE UNIDADE DE CARGA. CADA EVENTO DE SERVIÇO ADMITIDO CONSOME UM TOKEN DE UNIDADE DE CARGA, REPRESENTANDO OS TOKENS ARMAZENADOS NO TOKEN BUCKET DE VÁRIOS NÍVEIS, A CAPACIDADE TOTAL DE PROCESSAMENTO DISPONÍVEL PARA ESSE NÓ DO SISTEMA. UM GERADOR DE TOKEN PREENCHE O TOKEN BUCKET DE VÁRIOS NÍVEIS NA TAXA DETERMINADA PELO LIMITE DE TAXA DE CARGA ATUAL (240) PERMITIDO PARA O NÓ DO SISTEMA. OS LIMITES (240) SÃO CALCULADOS E ATUALIZADOS EXTERNAMENTE POR UM GESTOR DE CARGA CENTRALIZADO (510) QUE TEM CONHECIMENTO DO NÍVEL DE STRESS GERAL DO SISTEMA.THE PRESENT INVENTION PROVIDES AN ADMISSION CONTROL SOLUTION (200) FOR A DATA PROCESSING SYSTEM (500), WITH THE ADMISSION OF SERVICE EVENTS (170) AT EACH SERVICE EVENT INTERFACE, CONTROLLED BY A MULTI-LEVEL TOKEN BUCKET, WITH LOAD UNIT TOKENS. EACH ADMITTED SERVICE EVENT CONSUMES A LOAD UNIT TOKEN, WITH THE TOKENS STORED IN THE MULTI-LEVEL TOKEN BUCKET REPRESENTING THE TOTAL PROCESSING CAPACITY AVAILABLE TO THAT SYSTEM NODE. A TOKEN GENERATOR FILLS THE MULTI-TIER TOKEN BUCKET AT THE RATE DETERMINED BY THE CURRENT LOAD RATE LIMIT (240) ALLOWED FOR THE SYSTEM NODE. THE LIMITS (240) ARE CALCULATED AND UPDATED EXTERNALLY BY A CENTRALIZED LOAD MANAGER (510) THAT HAS KNOWLEDGE OF THE OVERALL SYSTEM STRESS LEVEL.
Description
DESCRIÇÃODESCRIPTION
APARELHO E MÉTODO PARA GESTÃO DE CONTROLO DE CARGA NO SISTEMA DE PROCESSAMENTO DE DADOS DISTRIBUÍDOSAPPARATUS AND METHOD FOR LOAD CONTROL MANAGEMENT IN DISTRIBUTED DATA PROCESSING SYSTEM
CAMPO DA INVENÇÃOFIELD OF INVENTION
A presente invenção está incluída na área de gestão de controlo de carga para sistemas de processamento de dados altamente distribuídos e de missão crítica. Particularmente, a presente invenção refere-se a aparelhos e métodos para a imposição de limites de taxa de carga aplicados na admissão a eventos de serviço discretos recebidos na borda de sistemas de processamento de dados altamente distribuídos e de missão crítica.The present invention is within the field of load control management for highly distributed and mission-critical data processing systems. In particular, the present invention relates to apparatus and methods for enforcing load rate limits applied upon admission to discrete service events received at the edge of highly distributed and mission-critical data processing systems.
TÉCNICA ANTERIORPREVIOUS TECHNIQUE
O token bucket é um algoritmo usado em redes comutadas por pacotes e pode ser usado para verificar se as transmissões de dados (na forma de pacotes) estão em conformidade com os limites definidos de largura de banda e intermitência do fluxo de pacotes.Token bucketing is an algorithm used in packet-switched networks and can be used to verify that data transmissions (in the form of packets) comply with defined bandwidth and packet flow burst limits.
Este algoritmo é com base numa analogia de um depósito de capacidade fixa no qual os tokens que representam uma unidade de capacidade são adicionados a uma taxa específica. Quando um pacote, solicitação ou evento deve ser verificado quanto à conformidade com os limites definidos, o bucket é inspecionado, verificando se ele contém tokens suficientes de acordo com o pacote necessário. Nesse caso, o número apropriado de tokens é removido do bucket e é processado o pacote. Caso contrário, o pacote não está em conformidade (e.g. , não há tokens suficientes no bucket), o conteúdo do bucket não é alterado e podem ser descartados os pacotes não conforme, em espera para processamento posterior ou mesmo encaminhados, mas marcados como de baixa prioridade.This algorithm is based on an analogy of a fixed-capacity bucket in which tokens representing a unit of capacity are added at a specific rate. When a packet, request, or event must be checked for compliance with the defined limits, the bucket is inspected to see if it contains enough tokens for the required packet. If so, the appropriate number of tokens are removed from the bucket and the packet is processed. If not, the packet is non-compliant (e.g., there are not enough tokens in the bucket), the contents of the bucket are not changed, and non-compliant packets may be discarded, held for later processing, or even forwarded but marked as low priority.
Um fluxo de pacote em conformidade pode, portanto, ter uma taxa média até a taxa em que os tokens são adicionados ao bucket e ter uma rajada determinada pela profundidade do bucket. O algoritmo de token bucket básico segue os seguintes princípios:A compliant packet flow can therefore have an average rate up to the rate at which tokens are added to the bucket, and have a burstiness determined by the depth of the bucket. The basic token bucket algorithm follows the following principles:
1. Um token é adicionado ao intervalo R (taxa) vezes por segundo;1. A token is added to the interval R(rate) times per second;
2. A capacidade do bucket é de B tokens. Depois de ficar cheio, se um novo token chegar, ele é descartado (excesso);2. The bucket capacity is B tokens. After it is full, if a new token arrives, it is discarded (overflow);
3. Quando um pacote de peso N chegar, N tokens serão retirados do bucket e serão processados ou encaminhados;3. When a packet of weight N arrives, N tokens will be taken from the bucket and will be processed or forwarded;
4. Se o bucket tiver menos do que os N tokens necessários, nenhum tokens será removido do bucket e o pacote será considerado não conforme.4. If the bucket has less than the required N tokens, no tokens will be removed from the bucket and the package will be considered non-compliant.
A longo prazo, a taxa do pacote é limitada por R. Ou seja, a taxa média convergirá para este valor. Porém, são permitidas rajadas, aproveitando algum grau de elasticidade que o sistema pode ter, evitando descartar toda a solicitação acima da taxa de referência R desperdiçando capacidade existente no sistema.In the long run, the packet rate is limited by R. In other words, the average rate will converge to this value. However, bursts are allowed, taking advantage of some degree of elasticity that the system may have, avoiding discarding all requests above the reference rate R, wasting existing capacity in the system.
Para a diferenciação de eventos e para classes de eventos, precisamos de um mecanismo mais sofisticado, como Token Bucket Hierárquico.For event differentiation and event classes, we need a more sophisticated mechanism like Hierarchical Token Bucket.
Conceptualmente, o Token Bucket Hierárquico (HTB) é um número arbitrário de token buckets básicos (TB) organizados numa hierarquia. Cada TB individual de todo o HTB será definido com dois parâmetros: uma taxa e um teto. Em HTB, a taxa significa a largura de banda garantida disponível para um determinado TB e teto é a abreviação de teto, que indica a largura de banda máxima que o TB pode consumir. Qualquer largura de banda usada entre a taxa e o teto é emprestada de um TB pai. O Token Bucket Hierárquico implementa um mecanismo de em fila cheio de classe tipicamente para o sistema de controlo de tráfego e fornece a taxa e teto para permitir que o utilizador controle a largura de banda absoluta para classes particulares de tráfego, bem como indicar a proporção de distribuição de largura de banda quando a largura de banda extra estiver disponível (até para teto).Conceptually, the Hierarchical Token Bucket (HTB) is an arbitrary number of basic token buckets (TB) organized in a hierarchy. Each individual TB of the entire HTB will be defined with two parameters: a rate and a ceiling. In HTB, rate means the guaranteed bandwidth available for a given TB and ceiling is short for ceiling, which indicates the maximum bandwidth that the TB can consume. Any bandwidth used between the rate and the ceiling is borrowed from a parent TB. The Hierarchical Token Bucket implements a class-based queuing mechanism typically for the traffic control system and provides the rate and ceiling to allow the user to control the absolute bandwidth for particular classes of traffic, as well as indicate the proportion of bandwidth distribution when extra bandwidth is available (up to the ceiling).
A capacidade total do sistema protegido e também a elasticidade à rajada requerem variações dinâmicas da taxa (R) e também da capacidade da bucket (B) . O HTB é uma abordagem adequada quando não temos requisitos para a variação da capacidade total do sistema e do grau de rutura. O HTB tem uma abordagem de nível de rajadas estáticas que leva a uma adaptação complexa de rajadas, portanto, não são viáveis os ajustes de tempo de execução relacionados. Adaptar o HTB para permitir o aumento repentino e a variação da capacidade total no tempo de execução seria uma atividade frequente e que consumiria recursos.The total protected system capacity and burst elasticity require dynamic variations of the rate (R) and bucket capacity (B). HTB is a suitable approach when we do not have requirements for varying total system capacity and burst degree. HTB has a static burst-level approach that leads to complex burst adaptation, so related runtime adjustments are not feasible. Adapting HTB to allow for sudden increases and variations of total capacity at runtime would be a frequent and resource-intensive activity.
Em relação à classificação de eventos, nem todo o evento descartado no fluxo de solicitação de entrada do sistema tem o mesmo efeito de economia de recursos computacionais, além de não ter o mesmo impacto no serviço que está a ser fornecido. Por exemplo, num cenário de aplicação para controlo de eventos de sessão, os sistemas podem receber eventos Inicial (I), Intermediário (M) e Final (F), sendo estes as classes de pacotes.Regarding event classification, not all events discarded in the system's input request flow have the same effect on saving computational resources, and they do not have the same impact on the service being provided. For example, in an application scenario for session event control, systems may receive Initial (I), Intermediate (M) and Final (F) events, which are the packet classes.
Se a política de controlo fosse bloquear classes de eventos I, M e F indiferenciadas, após o esgotamento do token bucket básico, o efeito negativo seria:If the control policy were to block undifferentiated event classes I, M, and F after the basic token bucket is exhausted, the negative effect would be:
• H - a eliminação de um pacote final deixaria as sessões sem um evento de encerramento adequado e desperdiçaria todo o esforço feito até agora com a inicial correspondente e todos os pacotes intermediários.• H - eliminating a final packet would leave sessions without a proper closing event and would waste all the effort made so far with the corresponding initial and all intermediate packets.
• M - eliminar um pacote intermediário interromperia uma sessão bem-sucedida e desperdiçaria todo o esforço feito até então com os pacotes intermediários iniciais e anteriores correspondentes;• M - dropping an intermediate packet would interrupt a successful session and waste all the effort made so far with the corresponding initial and previous intermediate packets;
• I - descartar um pacote inicial não desperdiçará nenhum processamento de pacote anterior concluído, economizando recursos para pacotes de sessões em execução no momento;• I - discarding an initial packet will not waste any previously completed packet processing, saving resources for currently running session packets;
Esta situação apresenta uma troca entre a economia de recursos dessa queda de evento e o desperdício de recursos associado aos eventos de sessão anteriores processados corretamente. No primeiro estágio de rajadas, a melhor opção é descartar apenas eventos iniciais e não intermediários ou finais, economizando recursos para as sessões atuais. Os eventos iniciais interrompidos criariam sessões adicionais indesejadas durante o período de stress. Novas sessões e eventos iniciais seriam admitidos na medida em que as sessões atuais fossem encerradas e a taxa global de eventos retornasse a um nível normal. Num segundo estágio, quando não basta eliminar os eventos iniciais, deseja-se que continuem a se descartados completando a quantidade de descartes com os eventos intermediários. Nesta situação, são eliminados todos os I, bem como alguns dos M. Um terceiro estágio iria comportar-se de forma semelhante eliminando todos os I e M, mas apenas parte de F.This situation presents a trade-off between the resource savings of this event drop and the resource waste associated with correctly processed previous session events. In the first bursty stage, the best option is to discard only initial events and not intermediate or final ones, saving resources for the current sessions. The interrupted initial events would create additional unwanted sessions during the stress period. New sessions and initial events would be admitted as the current sessions are terminated and the overall event rate returns to a normal level. In a second stage, when it is not enough to discard the initial events, it is desired to continue to discard them by completing the discarding amount with intermediate events. In this situation, all I events are discarded, as well as some of the M events. A third stage would behave similarly by discarding all I and M events, but only part of F events.
Isso não pode ser alcançado com um TB básico (não oferece suporte a classes de eventos) nem com a abordagem HTB, pois isso baseia-se num mecanismo de prioridade ponderada. Em cenários onde eventos intermediários (M) não devem ser descartados enquanto eventos iniciais (I) estão a ser processados (diferenciação de classe), o HTB aborda o problema com dois depósitos diferentes (um para cada tipo de evento) com taxas de depósito diferentes (R).This cannot be achieved with a basic TB (does not support event classes) nor with the HTB approach, as this relies on a weighted priority mechanism. In scenarios where intermediate events (M) should not be discarded while initial events (I) are being processed (class differentiation), HTB addresses the problem with two different buckets (one for each event type) with different bucket rates (R).
No entanto, isso levaria a uma ponderação do bucket de folhas e não resolveria o problema descrito.However, this would lead to leaf bucket weighting and would not solve the problem described.
A presente solução pretendia superar de forma inovadora esses problemas.This solution aimed to innovatively overcome these problems.
SUMÁRIO DA INVENÇÃOSUMMARY OF THE INVENTION
É um objetivo geral da presente invenção fornecer meios para um controlo de carga eficaz de um sistema de processamento de dados distribuídos com restrição de carga, desenvolvendo um novo aparelho e respetivo método de operação que seja adequado para realizar o controlo de admissão. Estes e outros objetos são alcançados de acordo com o conjunto de reivindicações em anexo.It is a general object of the present invention to provide means for effective load control of a load-constrained distributed data processing system by developing a novel apparatus and method of operation thereof which are suitable for performing admission control. These and other objects are achieved in accordance with the appended set of claims.
De acordo com um aspeto da presente invenção, é fornecido um aparelho controlador de admissão para limitar a aceitação de eventos de serviço, em interfaces de eventos de serviço, de um sistema de processamento de dados distribuído com restrição de carga, compreendendo: uma unidade bloqueadora de admissão para executar a aplicação de limites de taxa de carga por meio da execução de um algoritmo de token bucket de vários níveis; uma unidade de interface de controlo para enviar informações de taxa de carga atual e receber atualizações para o limite de taxa de carga; e, uma unidade geradora de token de carga para gerar tokens de unidade de carga para o token bucket de vários níveis.According to one aspect of the present invention, there is provided an admission controller apparatus for limiting the acceptance of service events, at service event interfaces, of a load-constrained distributed data processing system, comprising: an admission blocker unit for performing load rate limit enforcement by executing a multi-level token bucket algorithm; a control interface unit for sending current load rate information and receiving updates to the load rate limit; and, a load token generator unit for generating load unit tokens for the multi-level token bucket.
De acordo com outro aspeto, a presente invenção fornece um método de controlo de admissão para um evento de serviço discreto num sistema de processamento de dados distribuído, compreendendo os passos de: i.) Identificar o tipo de evento de serviço, para aplicar regras de prioridade de aceitação; ditas regras de prioridade são aplicadas implicitamente ao enviar a decisão de encaminhar o evento para o algoritmo de token bucket de vários níveis. Por outras palavras, após um primeiro passo de classificação do evento, uma certa quantidade de tokens será coletada no nível correspondente do token bucket de vários níveis e, portanto, os níveis de menos prioridade verão os tokens esgotados mais rápido do que os outros; ii.) verificar a conformidade da taxa de carga para o tipo de evento de serviço, usando um algoritmo de token bucket de vários níveis para verificar a conformidade com os limites de taxa de carga definidos; iii.) executar a aceitação do evento de serviço de acordo com a avaliação de conformidade da taxa de carga.According to another aspect, the present invention provides a method of admission control for a discrete service event in a distributed data processing system, comprising the steps of: i.) Identifying the type of service event, to apply acceptance priority rules; said priority rules are implicitly applied when sending the decision to forward the event to the multi-level token bucket algorithm. In other words, after a first step of classifying the event, a certain amount of tokens will be collected in the corresponding level of the multi-level token bucket, and therefore, the lower priority levels will see tokens depleted faster than the others; ii.) checking the load rate compliance for the service event type, using a multi-level token bucket algorithm to check compliance with defined load rate limits; iii.) performing acceptance of the service event according to the load rate compliance assessment.
De acordo com outro aspeto da presente invenção, a gestão de um limitador de taxa de carga para um controlador de admissão, numa interface de eventos de serviço, em sistemas de processamento de dados distribuídos, é divulgado, compreendendo os passos de: i.) receber atualizações de limite de taxa de carga para impor um limite de taxa de carga de acordo com o nível de stress atual do sistema de processamento de dados distribuído; ii.) determinar a taxa do gerador de tokens para gerar tokens de carga no ritmo correto; e, iii.) calcular e enviar a taxa de carga atual para informar um gestor de carga centralizado sobre o nível de carga que está a ocorrer.According to another aspect of the present invention, management of a load rate limiter for an admission controller, at a service event interface, in distributed data processing systems, is disclosed, comprising the steps of: i.) receiving load rate limit updates to enforce a load rate limit according to the current stress level of the distributed data processing system; ii.) determining the rate of the token generator to generate load tokens at the correct rate; and, iii.) calculating and sending the current load rate to inform a centralized load manager of the level of load that is occurring.
De acordo com este aparelho controlador de admissão e respetivo método de controlo de admissão, incluindo a gestão de taxas de carga, o controlo de admissão de eventos de serviço, em interfaces de eventos de serviço, para um sistema de processamento de dados distribuído pode ser realizado de forma eficaz e eficiente com base nas atualizações de limites de taxa de carga recebidos que permitem ações imediatas na rejeição de eventos em condições de stress de carga.According to this admission controller apparatus and its admission control method including load rate management, admission control of service events at service event interfaces to a distributed data processing system can be performed effectively and efficiently based on received load rate threshold updates that allow immediate actions on rejecting events under load stress conditions.
DESCRIÇÃO DAS FIGURASDESCRIPTION OF FIGURES
A Figura 1 ilustra uma composição token bucket de vários níveis de acordo com a presente invenção. Os sinais de referência representam:Figure 1 illustrates a multi-level token bucket composition in accordance with the present invention. The reference signals represent:
100 - Token bucket de capacidade de carga;100 - Load capacity bucket token;
110 - Unidades de token de carga;110 - Cargo token units;
112 - Evento de serviço de encaminhamento;112 - Forwarding service event;
113 - Evento de serviço de descarte113 - Disposal service event
120 - taxa de adição de unidades de token de carga;120 - fee for adding load token units;
130 - Nível de capacidade de carga disponível atual;130 - Current available load capacity level;
140 - Nível mínimo de unidades de token de carga;140 - Minimum level of charge token units;
150 - fluxo de desligar;150 - disconnect flow;
160 - fluxos de eventos de serviço;160 - service event streams;
170 - Evento de serviço;170 - Service event;
180 - Interface de evento de serviço;180 - Service event interface;
190 - Nível de capacidade de carga disponível máximo;190 - Maximum available load capacity level;
A Figura 2 representa um diagrama de blocos de alto nível do aparelho controlador de admissão de acordo com a presente invenção. Os sinais de referência representam:Figure 2 represents a high-level block diagram of the admission controller apparatus according to the present invention. The reference signals represent:
170 - Evento de serviço;170 - Service event;
180 - Interface de eventos de serviço;180 - Service Events Interface;
200 - Aparelho controlador de admissão;200 - Admission control device;
210 - Unidade bloqueadora de admissão;210 - Intake blocking unit;
220 - Unidade de interface de controlo;220 - Control interface unit;
230 - Gerador de tokens de carga;230 - Load token generator;
240 - Limites da taxa de carga e informação da taxa de carga atual.240 - Charge rate limits and current charge rate information.
A Figura 3 representa um fluxograma que descreve um método de controlo de admissão para eventos discretos num sistema de processamento de dados distribuído de acordo com a presente invenção. Os sinais de referência representam:Figure 3 is a flowchart describing an admission control method for discrete events in a distributed data processing system according to the present invention. The reference signals represent:
S300 - Identificação do tipo de evento do serviço recebido;S300 - Identification of the type of service event received;
S310 - Verificação da conformidade da carga para o evento de serviço com base no tipo de evento de serviço;S310 - Verification of load compliance for service event based on service event type;
S320 - Execução do controlo de aceitação para o evento de serviço.S320 - Execution of acceptance control for the service event.
A Figura 4 representa um fluxograma que descreve a gestão da taxa de carga para um controlador de admissão num sistema de processamento de dados distribuído de acordo com a presente invenção. Os sinais de referência representam:Figure 4 is a flowchart describing the load rate management for an admission controller in a distributed data processing system according to the present invention. The reference signals represent:
S400 - Receber atualizações de limite de taxa de carga;S400 - Receive load rate limit updates;
S410 - Determinar a taxa do gerador de tokens;S410 - Determine the token generator fee;
S420 - Calculando a taxa de carga de entrada atual.S420 - Calculating current input load rate.
A Figura 5 mostra uma solução de controlo de admissão num sistema de processamento de dados distribuído de acordo com a presente invenção. Os sinais de referência representam:Figure 5 shows an admission control solution in a distributed data processing system according to the present invention. The reference signals represent:
170 - Evento de serviço;170 - Service event;
200 - aparelho controlador de admissão;200 - intake control device;
240 - Limites de taxa de carga e taxa de carga atual;240 - Charge rate limits and current charge rate;
500 - Sistema de processamento de dados;500 - Data processing system;
510 - gestor de carga central externa.510 - external central load manager.
DESCRIÇÃO DETALHADADETAILED DESCRIPTION
A presente invenção fornece um aparelho para controlar a admissão de eventos de serviço discretos para controlo de carga, em interfaces de eventos de serviço, em sistemas de processamento de dados distribuídos, que é com base num algoritmo de token bucket de vários níveis, que é usado para limitar o número de eventos de serviços com prioridades diferentes, numa interface de eventos de serviço, que serão aceites para processamento. Em particular, o algoritmo de token bucket de vários níveis será usado para supervisionar e garantir a aplicação dos limites de taxa de carga fornecidos para a interface de eventos de serviço.The present invention provides an apparatus for controlling the admission of discrete service events for load control at service event interfaces in distributed data processing systems, which is based on a multi-level token bucket algorithm, which is used to limit the number of service events with different priorities at a service event interface that will be accepted for processing. In particular, the multi-level token bucket algorithm will be used to supervise and ensure the enforcement of the load rate limits provided for the service event interface.
O token bucket é um algoritmo com eficácia e confiabilidade comprovada em muitos cenários de comutação de pacotes e redes de telecomunicações para verificar e impor a conformidade das transmissões de dados de pacotes aos limites definidos de largura de banda e intermitência. Por outro lado, o controlo da capacidade de processamento disponível de um sistema é totalmente equivalente ao controlo da largura de banda disponível de um fluxo de transmissão de dados e essa equivalência advém do fato de ser possível criar uma analogia completa entre os dois mecanismos: primeiro, um evento de serviço é equivalente a um pacote de dados; segundo, uma disponibilidade de capacidade de processamento é equivalente a uma disponibilidade de largura de banda; por último, uma unidade de capacidade de processamento é equivalente a um tamanho de pacote.Token bucketing is an algorithm that has proven effective and reliable in many packet switching and telecommunications network scenarios to verify and enforce the compliance of packet data transmissions with defined bandwidth and burst limits. On the other hand, controlling the available processing capacity of a system is fully equivalent to controlling the available bandwidth of a data transmission stream, and this equivalence arises from the fact that it is possible to draw a complete analogy between the two mechanisms: first, a service event is equivalent to a data packet; second, an availability of processing capacity is equivalent to an availability of bandwidth; and finally, a unit of processing capacity is equivalent to a packet size.
Assim, com base na equivalência de ambos os tipos de controlo, é possível usar a abordagem do algoritmo de token bucket num mecanismo para controlar a capacidade de processamento disponível do sistema também é um mecanismo eficiente e confiável.Thus, based on the equivalence of both types of control, it is possible to use the token bucket algorithm approach in a mechanism to control the available processing capacity of the system is also an efficient and reliable mechanism.
A Fig. 1 ilustra a hipótese do uso de uma abordagem de algoritmo de token bucket aplicada a um mecanismo para controlar a capacidade de processamento disponível de um sistema através do uso de tokens de unidade de carga (unidades de capacidade de processamento conhecida disponível) geridos por um token bucket. Este caso de uso específico do algoritmo token bucket, conforme mostrado na Fig. 1, é com base numa analogia de um token bucket de capacidade de carga conhecido 100, no qual tokens, representando uma unidade de carga 110 que está disponível para ser usada por um serviço evento 170 que chega a uma interface de eventos de serviço 180, são adicionados ao token bucket na taxa 120 que pode mudar com base nas atualizações de uma fonte externa, como mostrado na Fig. 1.Fig. 1 illustrates the hypothetical use of a token bucket algorithm approach applied to a mechanism for controlling the available processing capacity of a system through the use of load unit tokens (units of known available processing capacity) managed by a token bucket. This particular use case of the token bucket algorithm, as shown in Fig. 1, is based on an analogy of a known load capacity token bucket 100, in which tokens, representing a load unit 110 that is available to be used by a service event 170 arriving at a service event interface 180, are added to the token bucket at a rate 120 that may change based on updates from an external source, as shown in Fig. 1.
De acordo com a Fig. 1, o token bucket 100 pode gerir o nível de capacidade de carga disponível atual 130 atribuído a uma interface de eventos de serviço 180 de um sistema de processamento de dados distribuído, através dos tokens de unidade de carga 110 armazenados até um nível de capacidade de carga máxima disponível 190. Assim, este nível de capacidade de carga disponível atual 130 representa a capacidade de carga do sistema indiferenciada que pode ser compartilhada, a qualquer momento, entre vários fluxos de eventos de serviço 160 existentes numa interface de eventos de serviço, como mostrado na Fig. 1.According to Fig. 1, the token bucket 100 may manage the current available load capacity level 130 assigned to a service event interface 180 of a distributed data processing system, via the stored load unit tokens 110 up to a maximum available load capacity level 190. Thus, this current available load capacity level 130 represents the undifferentiated system load capacity that may be shared, at any given time, among multiple service event streams 160 existing on a service event interface, as shown in Fig. 1.
De acordo com a Fig. 1, é possível expandir o algoritmo de token bucket tradicional num algoritmo de token bucket de vários níveis para permitir o controlo simultâneo e diferenciado de vários fluxos de eventos de serviço 160 que compartilham a mesma capacidade de processamento do sistema controlada pelo multinível de token bucket 100. Em particular, é possível limitar, para cada fluxo de eventos de serviço 160, a carga usada a uma fração da atribuída para a interface de eventos de serviço 180, definindo um nível mínimo de unidades de token de carga 140 para permitir o uso de unidades de token de carga 110. Além disso, é possível abrir ou fechar a transmissão de um fluxo de eventos de serviço através do fluxo de desligar 150.According to Fig. 1, it is possible to expand the traditional token bucket algorithm into a multi-level token bucket algorithm to allow simultaneous and differentiated control of multiple service event streams 160 that share the same system processing capacity controlled by the multi-level token bucket 100. In particular, it is possible to limit, for each service event stream 160, the load used to a fraction of that allocated to the service event interface 180, by setting a minimum level of payload token units 140 to allow the use of payload token units 110. Furthermore, it is possible to open or close the transmission of a service event stream via the shut down flow 150.
Além disso, a Fig. 1 mostra que um mecanismo de prioridade de aceitação para eventos de serviço pode ser implementado com base na funcionalidade de token bucket 100 de vários níveis por meio do uso dos níveis mínimos de unidades de token de carga 140. Em particular, cada fluxo de evento de serviço está associado a um tipo de evento de serviço específico para o qual é configurado um limite específico (nível mínimo de unidades de token de carga) 140 no token bucket de vários níveis 100. Neste mecanismo, uma unidade de token de carga está disponível apenas para ser usada por um evento de serviço, de um específico tipo de evento de serviço, se o nível de capacidade de carga disponível atual 130 for superior ao limite 140 configurado para esse tipo de evento de serviço específico. Assim, configurar diferentes limites 140 para os fluxos de eventos de serviço 160 implicitamente define diferentes prioridades de aceitação para eventos de serviço desses tipos de eventos de serviço, tendo o limite 140 com o valor mais alto implicitamente da prioridade mais baixa e o limite 140 com o valor mais baixo da prioridade mais alta.Furthermore, Fig. 1 shows that an acceptance priority mechanism for service events can be implemented based on the multi-level token bucket 100 functionality through the use of minimum payload token unit levels 140. In particular, each service event stream is associated with a specific service event type for which a specific threshold (minimum payload token unit level) 140 is configured in the multi-level token bucket 100. In this mechanism, a payload token unit is only available for use by a service event of a specific service event type if the current available payload capacity level 130 is higher than the threshold 140 configured for that specific service event type. Thus, setting different thresholds 140 for the service event streams 160 implicitly sets different acceptance priorities for service events of those service event types, with threshold 140 having the highest value implicitly of the lowest priority and threshold 140 having the lowest value of the highest priority.
O token bucket de vários níveis para ser eficaz na resolução do controlo de admissão, num cenário com a natureza intermitente de várias interfaces de eventos de serviço competindo pelo uso da capacidade de carga disponível de um sistema de processamento de dados distribuído, precisa ajustar a sua taxa de adição 120 de unidades de token de carga 110 dinamicamente por meio das atualizações de um gestor de carga externo. Além disso, o token bucket de vários níveis 100, para manter o mecanismo de prioridade de aceitação funcionando corretamente, precisa atualizar os limites (níveis mínimos de unidades de token de carga) 140 com a mesma proporção das atualizações de limite de taxa de carga.The multi-tier token bucket, to be effective in resolving admission control in a scenario with the intermittent nature of multiple service event interfaces competing for use of the available load capacity of a distributed data processing system, needs to adjust its rate of addition 120 of payload token units 110 dynamically through updates from an external load manager. In addition, the multi-tier token bucket 100, to keep the acceptance priority mechanism working properly, needs to update the thresholds (minimum levels of payload token units) 140 in proportion to the load rate limit updates.
O algoritmo de token bucket de vários níveis permite um controlo de admissão eficiente de eventos de serviço discretos de diferentes tipos que compartilham a mesma capacidade de processamento. Ele também fornece um controlo de admissão eficaz para sistemas distribuídos, permitindo atualizações contínuas dos limites da taxa de carga de fontes externas.The multi-level token bucket algorithm enables efficient admission control of discrete service events of different types that share the same processing capacity. It also provides effective admission control for distributed systems by enabling continuous updates of load rate limits from external sources.
MODELOS DE REALIZAÇÃOIMPLEMENTATION MODELS
Modelo de realização 1: Aparelho de controlo de admissãoEmbodiment model 1: Admission control device
A seguir, um modelo de realização da presente invenção relacionado a um aparelho controlador de admissão será descrito em relação à Fig. 2.In the following, an embodiment of the present invention relating to an intake controller apparatus will be described with reference to Fig. 2.
A Fig. 2 mostra um controlador de admissão 200 para controlar o acesso a eventos de serviço 170 numa interface de evento de serviço 180 de um sistema de processamento de dados distribuído de acordo com a presente invenção e compreende, como mostrado na Fig. 2, uma unidade bloqueadora de admissão 210, um controlo da unidade de interface 220 e uma unidade geradora de token de carga 230. A unidade bloqueadora de admissão 210, mostrada na Fig. 2, realiza o controlo de admissão de eventos de serviço discretos, numa interface de receção de evento de serviço, a fim de executar a aplicação de um limite de taxa de carga. A unidade de controlo de admissão 210 usa os tokens de carga gerados na unidade geradora de token de carga 230 em conjunto com a sua própria parametrização para aplicar o controlo de admissão apropriado aos níveis de stress de carga identificados externamente pela gestão operacional de sistemas de processamento de dados distribuídos. Tal parametrização é necessária para o funcionamento da unidade bloqueadora de admissão 210 e pode relacionar uma definição do tamanho/capacidade total de um token bucket 190, bem como dos vários níveis de saída 150 em que cada tipo de evento remove tokens.Fig. 2 shows an admission controller 200 for controlling access to service events 170 on a service event interface 180 of a distributed data processing system according to the present invention and comprises, as shown in Fig. 2, an admission blocking unit 210, a control interface unit 220 and a payload token generator unit 230. The admission blocking unit 210, shown in Fig. 2, performs admission control of discrete service events on a service event reception interface in order to perform the application of a load rate limit. The admission control unit 210 uses the payload tokens generated on the payload token generator unit 230 in conjunction with its own parameterization to apply appropriate admission control to the load stress levels identified externally by the operational management of distributed data processing systems. Such parameterization is necessary for the operation of the admission blocking unit 210 and may relate to a definition of the total size/capacity of a token bucket 190, as well as the various output levels 150 at which each event type removes tokens.
A unidade de interface de controlo 220, mostrada na Fig. 2, recebe as atualizações de limite de taxa de carga permitidas, que são calculadas remotamente por um gestor de carga central externo 510. A unidade de interface de controlo 220, mostrada na Fig. 2, também envia para a gestor de carga central externo 510, a taxa de carga efetiva atual e, opcionalmente, a taxa de carga nominal. A taxa de carga efetiva é com base na taxa de chegada/taxa de solicitação para eventos de processamento no sistema. A finalidade do seu cálculo está relacionada à necessidade de ajuste central do parâmetro de limites da taxa de carga. Este parâmetro afetará a unidade geradora de token de carga (230), aumentando ou diminuindo o ritmo de geração de tokens no token bucket de vários níveis. Normalmente, esse limite será reduzido para reequilibrar a capacidade no contexto de um sistema distribuído. Da mesma forma, será aumentado quando houver solicitação de mais capacidade dentro dos limites iniciais e parametrizados estaticamente. A taxa nominal, por sua vez, representa um parâmetro estático/inicial e constitui um teto máximo absoluto diferenciado pelo aparelho (200). A unidade geradora de tokens 230, mostrada na Fig. 2, gera tokens de carga na taxa determinada pela taxa de carga atualizações de limite. O ritmo do gerador de tokens pode ser configurado para produzir um único ou uma rajada de tokens de unidade de carga em cada tique do relógio, mas em média a geração de taxa de tokens de unidade de carga sempre será de acordo com o limite de taxa de carga recebido.The control interface unit 220, shown in Fig. 2, receives the allowed load rate limit updates, which are calculated remotely by an external central load manager 510. The control interface unit 220, shown in Fig. 2, also sends to the external central load manager 510 the current effective load rate and, optionally, the nominal load rate. The effective load rate is based on the arrival rate/request rate for processing events in the system. The purpose of its calculation is related to the need for central adjustment of the load rate limits parameter. This parameter will affect the load token generation unit (230), increasing or decreasing the rate of token generation in the multi-tier token bucket. Typically, this limit will be reduced to rebalance capacity in the context of a distributed system. Likewise, it will be increased when there is a request for more capacity within the initial, statically parameterized limits. The nominal rate, in turn, represents a static/initial parameter and constitutes an absolute maximum ceiling differentiated by the apparatus (200). The token generator unit 230, shown in Fig. 2, generates charge tokens at the rate determined by the charge rate threshold updates. The token generator's pacing may be configured to produce a single or a burst of charge unit tokens on each clock tick, but on average the generation rate of charge unit tokens will always be in accordance with the received charge rate threshold.
Modelo de realização 2: Método de controlo de admissãoImplementation model 2: Admission control method
A seguir, um modelo de realização da presente invenção relacionado a um método de controlo de admissão será descrito em relação à Fig. 3.Next, an embodiment of the present invention related to an admission control method will be described with reference to Fig. 3.
A Fig. 3 mostra um fluxograma que descreve um método de controlo de admissão para eventos de serviço discretos num sistema de processamento de dados distribuído de acordo com esta invenção.Fig. 3 shows a flowchart describing an admission control method for discrete service events in a distributed data processing system in accordance with this invention.
Num primeiro passo S300, eventos de serviço discretos recebidos são analisados para identificar o tipo de evento de serviço de acordo com o conjunto daqueles permitidos para serem aceites.In a first step S300, received discrete service events are analyzed to identify the type of service event according to the set of those allowed to be accepted.
No próximo passo S310, eventos de serviço discretos são verificados sobre a violação potencial do limite de taxa de carga com base no tipo de evento de serviço. A verificação de violação da taxa de carga é obtida usando um algoritmo de token bucket de vários níveis que usa o limite da taxa de carga atual e uma parametrização do sistema de processamento de dados. Essa parametrização, além da capacidade total do token bucket 190 e dos vários níveis de saída 150, também precisa dos critérios de classificação dos vários tipos de eventos e do número de tokens que cada tipo usa.In the next step S310, discrete service events are checked for potential violation of the load rate limit based on the service event type. The load rate violation check is achieved using a multi-level token bucket algorithm that uses the current load rate limit and a parameterization of the data processing system. This parameterization, in addition to the total capacity of the token bucket 190 and the various output levels 150, also needs the classification criteria of the various event types and the number of tokens that each type uses.
No próximo passo S320, se a avaliação de conformidade de carga for aprovada, o evento discreto é aceite e encaminhado para ser processado pelo sistema de processamento de dados distribuído.In the next step S320, if the load compliance assessment is passed, the discrete event is accepted and forwarded to be processed by the distributed data processing system.
Modelo de realização 3: Método de gestão do limitador de taxa de cargaEmbodiment model 3: Load rate limiter management method
A seguir, um modelo de realização da presente invenção relacionado a um método de gestão do limitador de taxa de carga será descrito em relação à Fig. 4.Next, an embodiment of the present invention related to a method of managing the load rate limiter will be described with respect to Fig. 4.
A Fig. 4 mostra um fluxograma que descreve um método de gestão da taxa de carga para um controlador de admissão em sistemas de processamento de dados distribuídos de acordo com esta invenção.Fig. 4 shows a flowchart describing a method of managing the load rate for an admission controller in distributed data processing systems in accordance with this invention.
Num primeiro passo S400, os limites de taxa de carga são recebidos de um gestor de carga externo para serem usados para atualizar a taxa de produção de tokens de unidade de carga de acordo com o nível de stress do sistema de processamento de dados distribuído.In a first step S400, load rate limits are received from an external load manager to be used to update the production rate of load unit tokens according to the stress level of the distributed data processing system.
No próximo passo S410, a unidade geradora de token 230, mostrada na Fig. 2, ajusta o seu ritmo para o novo limite de taxa de carga recebido. O ritmo é calculado com base no limite da taxa de carga recebido e na configuração do ritmo de produção de tokens de unidade de carga simples ou rajada em cada tique do relógio.In the next step S410, the token generating unit 230, shown in Fig. 2, adjusts its pacing to the new received charge rate limit. The pacing is calculated based on the received charge rate limit and the setting of the single or burst charge unit token production pacing at each clock tick.
No próximo passo S420, a taxa de carga de entrada atual é determinada para fornecer resposta para um gestor de carga externo, a fim de receber limites de taxa de carga de volta ajustados ao nível de stress atual.In the next step S420, the current input load rate is determined to provide feedback to an external load manager in order to receive back load rate limits adjusted to the current stress level.
Solução de controlo de admissãoAdmission control solution
A seguir, um modelo de realização da presente invenção relacionado a uma solução de controlo de admissão será descrito em relação à Fig. 5.In the following, an embodiment of the present invention related to an admission control solution will be described with reference to Fig. 5.
De acordo com a Fig. 5, a solução de controlo de admissão compreende o aparelho controlador de admissão 200, que usa os métodos de gestão de controlo de admissão e limitador de taxa de carga, conforme descrito acima, de forma combinada. Em particular, o aparelho controlador de admissão 200 está ligado a um gestor de carga central externo 510 para receber as atualizações de limite de taxa de carga permitidas e para enviar a taxa de carga efetiva atual 240 e, opcionalmente, a taxa de carga nominal.According to Fig. 5, the admission control solution comprises the admission controller apparatus 200, which uses the admission control and load rate limiter management methods as described above in a combined manner. In particular, the admission controller apparatus 200 is connected to an external central load manager 510 to receive the allowed load rate limit updates and to send the current effective load rate 240 and, optionally, the nominal load rate.
Além disso, para cenários de sistemas distribuídos, existirão várias instâncias do aparelho controlador de admissão 200 funcionando de forma independente.Additionally, for distributed systems scenarios, there will be multiple instances of the admission controller appliance 200 operating independently.
Como ficará claro para um especialista na técnica, a presente invenção não deve ser limitada aos modelos de realização aqui descritos, e uma série de alterações são possíveis que permanecem dentro do âmbito da presente invenção.As will be clear to one skilled in the art, the present invention is not to be limited to the embodiments described herein, and a number of modifications are possible that remain within the scope of the present invention.
É claro que são combináveis os modelos de realização preferidos mostrados acima, nas diferentes formas possíveis, sendo aqui evitada a repetição de todas essas combinações.It is clear that the preferred embodiment models shown above can be combined in the different possible forms, and the repetition of all these combinations is avoided here.
Claims (11)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PT116948A PT116948B (en) | 2020-12-16 | 2020-12-16 | APPARATUS AND METHOD FOR LOAD CONTROL MANAGEMENT IN DISTRIBUTED DATA PROCESSING SYSTEM |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PT116948A PT116948B (en) | 2020-12-16 | 2020-12-16 | APPARATUS AND METHOD FOR LOAD CONTROL MANAGEMENT IN DISTRIBUTED DATA PROCESSING SYSTEM |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| PT116948A PT116948A (en) | 2022-06-17 |
| PT116948B true PT116948B (en) | 2025-02-28 |
Family
ID=82399689
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PT116948A PT116948B (en) | 2020-12-16 | 2020-12-16 | APPARATUS AND METHOD FOR LOAD CONTROL MANAGEMENT IN DISTRIBUTED DATA PROCESSING SYSTEM |
Country Status (1)
| Country | Link |
|---|---|
| PT (1) | PT116948B (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US861121A (en) * | 1907-05-07 | 1907-07-23 | Robert B Human | Stalk-cutter. |
| US963939A (en) * | 1909-04-12 | 1910-07-12 | Frederick W Prince | Lecturer's reading-box. |
| US8953453B1 (en) * | 2011-12-15 | 2015-02-10 | Amazon Technologies, Inc. | System and method for throttling service requests using work-based tokens |
| US20160013455A1 (en) * | 2014-07-14 | 2016-01-14 | Apple Inc. | Stacked-cell battery with notches to accommodate electrode connections |
| CN105939280A (en) * | 2015-08-27 | 2016-09-14 | 杭州迪普科技有限公司 | Flow scheduling method and device |
-
2020
- 2020-12-16 PT PT116948A patent/PT116948B/en active IP Right Grant
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US861121A (en) * | 1907-05-07 | 1907-07-23 | Robert B Human | Stalk-cutter. |
| US963939A (en) * | 1909-04-12 | 1910-07-12 | Frederick W Prince | Lecturer's reading-box. |
| US8953453B1 (en) * | 2011-12-15 | 2015-02-10 | Amazon Technologies, Inc. | System and method for throttling service requests using work-based tokens |
| US20160013455A1 (en) * | 2014-07-14 | 2016-01-14 | Apple Inc. | Stacked-cell battery with notches to accommodate electrode connections |
| CN105939280A (en) * | 2015-08-27 | 2016-09-14 | 杭州迪普科技有限公司 | Flow scheduling method and device |
Also Published As
| Publication number | Publication date |
|---|---|
| PT116948A (en) | 2022-06-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Noormohammadpour et al. | Datacenter traffic control: Understanding techniques and tradeoffs | |
| EP4013135B1 (en) | Energy aware network slicing | |
| Abdelzaher et al. | Qos provisioning with qcontracts in web and multimedia servers | |
| CN110535705B (en) | A Service Function Chain Construction Method for Adaptive User Delay Requirements | |
| US10028168B2 (en) | Method and apparatus for remote buffer status maintenance | |
| TWI792981B (en) | Flow control method | |
| PT116948B (en) | APPARATUS AND METHOD FOR LOAD CONTROL MANAGEMENT IN DISTRIBUTED DATA PROCESSING SYSTEM | |
| US20190207856A1 (en) | Device and Method for Managing End-To-End Connections | |
| Luangsomboon et al. | HLS: A packet scheduler for hierarchical fairness | |
| US20250141807A1 (en) | Dynamic customization of time-sensitive networking (tsn) with digital twins | |
| Luangsomboon et al. | A round-robin packet scheduler for hierarchical max-min fairness | |
| CN113906720A (en) | Traffic scheduling method, device and storage medium | |
| Tawk et al. | Optimal scheduling and delay analysis for AFDX end-systems | |
| Xu et al. | Towards Application-Aware In-Network Bandwidth Management in Data Centers | |
| Sun et al. | PACCP: a price-aware congestion control protocol for datacenters | |
| Kumar | Toward predictable networks | |
| CN120811925B (en) | PCIe Virtual Channel Credit Limit Adjustment Methods, Communication Equipment and Systems | |
| Buzura et al. | Simulations framework for network congestion avoidance algorithms using the OMNeT++ IDE | |
| EP4525397A1 (en) | Method for preparing a programmable network, programmable network, network controller, computer program product and computer-readable storage medium | |
| Wang et al. | A study of providing statistical QoS in a differentiated services network | |
| US20240291766A1 (en) | Qos for multiplex network receive queue | |
| Hanada et al. | Service-Level Objective-Aware Load-Adaptive Timeout: Balancing Failure Rate and Latency in Microservices Communication | |
| Sharafeddine et al. | Robust network dimensioning for realtime services over IP networks with traffic deviation | |
| Tomovic et al. | Dynamic optimization of load-balancing and reconfiguration overhead in SD-ISP networks | |
| Rosberg et al. | Rate and delay controlled core networks: an experimental demonstration |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| BB1A | Laying open of patent application |
Effective date: 20210322 |
|
| FG3A | Patent granted, date of granting |
Effective date: 20250225 |