BR102019003524A2 - processo para estabelecer rotas de comunicação entre nós de um cluster, programa de computador e cluster - Google Patents

processo para estabelecer rotas de comunicação entre nós de um cluster, programa de computador e cluster Download PDF

Info

Publication number
BR102019003524A2
BR102019003524A2 BR102019003524A BR102019003524A BR102019003524A2 BR 102019003524 A2 BR102019003524 A2 BR 102019003524A2 BR 102019003524 A BR102019003524 A BR 102019003524A BR 102019003524 A BR102019003524 A BR 102019003524A BR 102019003524 A2 BR102019003524 A2 BR 102019003524A2
Authority
BR
Brazil
Prior art keywords
nodes
cluster
numbers
global
communication
Prior art date
Application number
BR102019003524A
Other languages
English (en)
Inventor
Quintin Jean-Noël
Gliksberg John
Original Assignee
Bull Sas
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull Sas filed Critical Bull Sas
Publication of BR102019003524A2 publication Critical patent/BR102019003524A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q11/0066Provisions for optical burst or packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q2011/009Topology aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

processo para estabelecer rotas de comunicação entre nós de um cluster, programa de computador e cluster. o processo inclui: a obtenção da topologia de um cluster (100), com os primeiros números globais respectivamente atribuídos a seus nós (1060?10663), e a implementação, para cada par de nós (1060?10663), de um algoritmo concebido para fornecer uma rota de comunicação entre esses nós, a partir de números respectivos desses nós e da topologia do cluster (100). o processo inclui, além disso: a seleção dos nós (1067, 10615, 10623, 10631, 10639, 10647, 10655, 10663) e a numeração dos nós (1060?10663) para atribuir a eles os segundos números globais, diferentes dos primeiros números globais para pelo menos uma parte dos nós selecionados (1067, 10615, 10623, 10631, 10639, 10647, 10655, 10663), os segundos números globais dos nós selecionados (1067, 10615, 10623, 10631, 10639, 10647, 10655, 10663) sendo sucessivamente separados de valores cada um diferente da periodicidade de cada um de pelo menos uma parte dos links de comunicação (114). além disso, para a implementação do algoritmo, os nós (1060?10663) são referenciados por seus segundos números globais.

Description

1/18
PROCESSO PARA ESTABELECER ROTAS DE COMUNICAÇÃO ENTRE NÓS DE UM CLUSTER, PROGRAMA DE COMPUTADOR E CLUSTER
Campo técnico [0001] A presente invenção abrange um processo de estabelecimento de rotas de comunicação entre nós de um cluster, um programa de computador correspondente e cluster.
[0002] A invenção aplica-se mais particularmente a um processo de estabelecimento de rotas de comunicação entre nós de um cluster do tipo que inclua:
- nós,
- uma rede de interconexão de nós, que inclua:
- comutadores em uma parte às quais os nós são conectados,
- links de comunicação entre os comutadores, o cluster apresentando uma certa topologia que defina a disposição relativa dos nós, comutadores e links de comunicação, o processo que inclua:
- a obtenção da topologia do cluster, com os primeiros números globais, respectivamente atribuídos aos nós,
- a implementação, para cada par de nós, de um algoritmo concebido para fornecer uma rota de comunicação entre o primeiro e o segundo nós do par, a partir dos números respectivos desses nós e da topologia do cluster, uma vez que o algoritmo é concebido para fazer passar por um mesmo link de comunicação rotas cujos primeiros ou segundos nós têm números periódicos que segue uma periodicidade superior a um. [0003] Pode ser desejável prever um processo do tipo mencionado que permita aumentar os desempenhos do cluster. Sumário [0004] A invenção tem, portanto, como objeto um processo
Petição 870190017691, de 21/02/2019, pág. 35/60
2/18 de estabelecimento de rotas de comunicação entre nós de um cluster do tipo mencionado, caracterizado por incluir, ainda:
- a seleção dos nós,
- a numeração dos nós, para atribuir a eles os segundos números globais, diferentes dos primeiros números globais para ao menos uma parte dos nós selecionados, os segundos números globais dos nós selecionados sendo, em seguida, separados de valores, cada um diferente de sua periodicidade em pelo menos uma parte dos links de comunicação, e, assim, para a implementação do algoritmo, os nós sejam referenciados pelos segundos números globais.
[0005] Assim, graças à invenção, o algoritmo é implementado a partir de números dos nós nos quais os números dos nós selecionados não apresentam periodicidade de pelo menos uma parte dos links de comunicação. Isso permite assegurar que as rotas que juntam esses nós selecionados não passem todas por um desses links de comunicação. Assim, assegura-se que a utilização dos links de comunicação esteja bem-equilibrada para os nós selecionados. Selecionando nós que trocam uma grande quantidade de dados, é possível, graças a esse equilíbrio, reduzir os riscos de que um mesmo link de comunicação sirva a muitos nós selecionados e, portanto, que esse link de comunicação fique congestionado.
[0006] De forma opcional, os nós selecionados apresentam uma característica comum, de que os outros nós são desprovidos.
[0007] Também de forma opcional, a característica comum é que os nós selecionados sejam interfaces de redes óticas.
[0008] Também de forma opcional, a característica comum é que os nós selecionados pertençam a computadores de
Petição 870190017691, de 21/02/2019, pág. 36/60
3/18 armazenamento .
[0009] Também de forma opcional, a característica comum é que os nós selecionados pertençam a computadores de cálculo que incluam um processador gráfico.
[0010] Também de forma opcional, os segundos números globais dos nós selecionados são sucessivos.
[0011] Também de forma opcional, o processo inclui, ainda: a determinação da periodicidade de cada um de pelo menos uma parte dos links de comunicação, a determinação de valores destinados a sucessivamente separar os segundos números globais dos nós selecionados, cada valor determinado sendo diferente de cada periodicidade determinada.
[0012] Também, de forma opcional, os nós são conectados às portas de conexão de uma parte dos comutadores, essas portas de conexão apresentam números locais no comutador ao qual essas portas de comunicação pertencem, e no qual os primeiros números globais são obtidos a partir de números locais.
[0013] Também de forma opcional, os primeiros números globais dos nós conectados às portas de conexão de um comutador seguem consecutivamente na mesma ordem que os números locais das portas de conexão aos quais esses nós estão respectivamente conectados.
[0014] Também, de forma opcional, o processo inclui, ainda, a seguinte etapa:
a exploração do cluster para determinar a sua topologia, e os nós são numerados seguindo a primeira numeração global ao longo dessa exploração.
[0015] Também de forma opcional, o cluster é concebido para alternar as primeiras fases ao longo das quais os nós
Petição 870190017691, de 21/02/2019, pág. 37/60
4/18 não selecionados trocam dados entre eles, e as segundas fases ao longo das quais os nós não selecionados trocam dados com os nós selecionados.
[0016] A invenção também tem como objeto um programa de computador que pode ser baixado de uma rede de comunicação e/ou registrado em um suporte legível pelo computador e/ou executável por um processador, caracterizado por abranger as instruções para a execução das etapas de um processo de estabelecimento de rotas de comunicação entre nós de um cluster, tal como definido anteriormente, quando o programa mencionado é executado em um computador.
[0017] A invenção também tem como objeto um cluster que inclua: nós, uma rede de interconexão de nós, que inclua:
a. comutadores em uma parte às quais os nós são conectados,
b. links de comunicação entre os comutadores, o cluster que apresente uma certa topologia que defina a disposição relativa dos nós, comutadores e links de comunicação, o cluster que inclua:
meios de obtenção da topologia do cluster, com os primeiros números globais respectivamente atribuídos aos nós, meios de implementação, para cada par de nós, de um algoritmo concebido para fornecer uma rota de comunicação entre o
primeiro e o segundo nó do par, a partir de números
respectivos desses nós e da topologia do cluster, o algoritmo
sendo concebido para fazer passar por um mesmo link de
comunicação rotas cujos primeiros ou segundos nós têm números periódicos que seguem uma periodicidade superior a um,
Petição 870190017691, de 21/02/2019, pág. 38/60
5/18 caracterizado por incluir, ainda:
meios de seleção de nós, meios de numeração dos nós para atribuir a eles segundos números globais, diferentes dos primeiros números globais para pelo menos uma parte dos nós selecionados, os segundos números globais dos nós selecionados sendo sucessivamente separados de valores diferentes da periodicidade respectiva de cada um de pelo menos uma parte dos links de comunicação, e, assim, para a implementação do algoritmo, os nós sejam reparados pelos segundos números globais.
[0018] A invenção será mais bem compreendida com ajuda da descrição que se segue, dada unicamente a título de exemplo e feita referindo-se aos desenhos anexados, nos quais:
Breve descrição dos desenhos [0019] A figura 1 representa esquematicamente a estrutura geral de um cluster, de acordo com um modo de realização da invenção, [0020] A figura 2 ilustra as etapas sucessivas de um processo de estabelecimento de rotas de comunicação entre nós do cluster da figura 1, de acordo com um modo de realização da invenção, e [0021] A figura 3 ilustra as etapas sucessivas de um processo de estabelecimento de rotas de comunicação entre nós do cluster da figura 1, de acordo com um outro modo de realização da invenção.
Descrição detalhada [0022] Em referência à figura 1, um cluster 100 (computer cluster”, em inglês) que implementa a invenção vai, a seguir, ser descrito.
[0023] O cluster 100 agrupa os computadores 102, 104
Petição 870190017691, de 21/02/2019, pág. 39/60
6/18 independentes que aparecem no exterior como uma calculadora única de potência muito forte de cálculo, dita calculadora de alta performance de tratamento ou calculadora HPC (do inglês, High Performance Computing”). Cada computador 102, 104 inclui, como se sabe, uma unidade central de processamento (CPU, central processing unit”, em inglês), uma memória principal (main memory”, em inglês) na qual as instruções para a unidade central de processamento são destinadas a serem registradas, e pelo menos uma interface de rede.
[0024] As interfaces de rede formam respectivamente os nós
1O6o...1O663 do cluster 100. Diversas interfaces de rede (e, portanto, diversos nós 1060...10663) podem pertencer a um mesmo computador 102, 104, ou ainda, como no exemplo descrito, cada computador 102, 104 pode incluir uma só interface de rede formando um dos nós 1060...10663 .
[0025] Ainda no exemplo descrito, os computadores 102, 104 do cluster 100 incluem computadores de cálculo 102 e computadores de armazenamento 104, estes últimos incluindo memórias de massa, como discos rígidos, para o registro de dados utilizados e/ou produzidos pelos computadores de cálculo 102.
[0026] O cluster 100 inclui, ainda, um servidor de administração 108. O servidor de administração 108 é, particularmente, concebido para dialogar com os clientes que desejam utilizar o cluster 100, sendo, então, visto pelos clientes como uma máquina única. O servidor de administração 108 é, além disso, concebido para ordenar, entre os computadores de cálculo 102, as tarefas recebidas dos clientes. O servidor de administração 108 é, além disso, concebido para implementar um processo de estabelecimento de
Petição 870190017691, de 21/02/2019, pág. 40/60
7/18 rotas de comunicação entre nós 1060...10663 do cluster, como o que será descrito a seguir. Para isso, o servidor de administração 108 inclui meios para realizar as etapas que serão descritas a seguir. No exemplo descrito, o servidor de administração 108 inclui, como se sabe, uma unidade central de processamento e uma memória principal na qual as instruções para a unidade central de processamento são destinadas a serem registradas. Assim, no exemplo descrito, os meios são os meios de software, sob a forma de programa de computador que pode ser baixado de uma rede de comunicação e/ou registrado em um suporte legível pelo computador e/ou executável por um processador, compreendendo instruções para a execução das etapas do processo quando este programa de computador for executado no servidor de administração. Alternativamente, todos ou parte desses meios poderiam ser meios materiais microprogramados ou microcabeados nos circuitos integrados dedicados. Assim, como variante, o servidor de administração 108 poderia ser um dispositivo eletrônico composto unicamente por circuitos digitais (sem programa de computador) para a realização das mesmas ações.
[0027] Em outros modos de realização da invenção, as diferentes funções do servidor de administração 108 podem ser repartidas entre diversos dispositivos, por exemplo entre vários computadores.
[0028] Tal cluster 100 permite a repartição de processamentos complexos e/ou de cálculos paralelos em pelo menos uma parte dos computadores de cálculo 102.
[0029] Em seguida, se chamariam de nós de cálculo, respectivamente nós de armazenamento, os nós formados por uma interface de rede que pertença a um computador de cálculo
Petição 870190017691, de 21/02/2019, pág. 41/60
8/18
102 respectivamente de armazenamento 104.
[0030] No exemplo descrito, as interfaces de rede dos computadores de armazenagem 104 são interfaces de rede ótica, enquanto que as interfaces de rede dos computadores de cálculo 102 são interfaces de rede elétricas, apresentando um débito inferior ao das interfaces de rede óticas. De fato, os computadores de armazenamento 104 trocam, em geral, mais dados que os computadores de cálculo 102.
[0031] O cluster 100 inclui, ainda, uma rede 110 de interconexão de nós 1060...10663 .
[0032] A rede 110 inclui comutadores 1121...11214 e links de comunicação 114 entre os comutadores 1121...11214. Cada comutador 1121.11214 apresenta diversas portas de conexão (representadas pelos pequenos quadrados na figura 1) e cada link de comunicação 114 é conectado entre dois pontos de conexão de dois comutadores 1121.11214 respectivos.
[0033] Os nós 1060...10663 são respectivamente conectados às portas de conexão de uma parte dos comutadores 1121.11214, chamados, em seguida, de comutadores externos 1121...1124,
11211...11214. Os outros comutadores 1125...11210 serão chamados, em seguida, de comutadores internos.
[0034] O cluster 100 apresenta uma certa topologia que define a disposição relativa dos nós 1060.10663, dos comutadores 1121.11214 e dos links de comunicação 114. No exemplo descrito, a topologia é a de uma árvore que impõe paralelo generalizado (Parallel Generalized Fat Tree” ou PGFT, em inglês) . A topologia de um PGFT é definida de maneira geral pela seguinte nomenclatura: PGFT(h ; m1.mh ; wi...wh ; p1.ph) , em que h é o número de níveis entre os quais os comutadores 1121.11214 são repartidos, mn é o número de
Petição 870190017691, de 21/02/2019, pág. 42/60
9/18 comutadores de nível n-1 (ou, ainda, nós para o primeiro nível) conectados a cada comutador de nível n, wn é o número de comutadores de nível n conectados a cada comutador de
nível n-1 (ou, ainda, a cada nó para o primeiro nível) e pn é
o número de links de comunicação paralelos utilizados entre
os níveis n e n-1 (ou, ainda, entre o nível n e os nós para o
primeiro nível).
[0035] Os comutadores externos 1121.1124, 11211.11214, aos
quais os nós 1060.10663 são conectados, formam, portanto, os
comutadores de primeiro nível. Além disso, na topologia PGFT, cada link de comunicação 114 é conectado entre dois comutadores de níveis hierárquicos consecutivos.
[0036] Para cada comutador 1121.11214, as portas de conexão
que dão em um nível inferior (ou, ainda, nos nós 1060...10663 no
caso dos comutadores externos 1121.1124, 11211.11214) serão
chamadas em seguida de portas de conexão inferiores,
enquanto que as portas de conexão que estão em nível superior serão chamadas em seguida de portas de conexão superiores.
[0037] No exemplo descrito, o PGFT é definido pela
nomenclatura PGFT(3; 8, 4, 2; 1, 2, 1; 1, 1, 4) . Assim, oito
nós são conectados a cada comutador externo 1121.1124,
11211.11214, que inclui, portanto, oito portas de conexão inferiores.
[0038] As portas de conexão inferiores e as portas de
conexão superiores de cada comutador 1121.11214 são numeradas, neste comutador 1121.11214, seguindo uma numeração local. Os números locais das portas de conexão inferiores e os números locais das portas de conexão superiores são indicados na
figura 1, nos pequenos quadrados. Em particular, as portas de
conexões inferiores de cada comutador externo 1121.1124,
Petição 870190017691, de 21/02/2019, pág. 43/60
10/18
11211...11214 são numeradas sempre seguindo uma numeração local, lhes atribuindo, respectivamente, no exemplo descrito, os números locais de 0 a 7.
[0039] Ainda no exemplo descrito, os comutadores externos 1121.1124, 11211.11214 são todos idênticos, ao menos no que concerne às suas portas de conexão inferiores. Além disso, no exemplo descrito, as portas de conexão inferiores dos comutadores externos 1121.1124, 11211.11214 que possuem o número local 7 são as portas óticas às quais as interfaces de rede óticas (formando os nós de armazenagem 1067, 106i5,
10623, 1063i, 10639, 10647, 10655, 10663) dos computadores de armazenagem 104 são conectadas. As outras portas de conexão inferiores dos comutadores externos 1121.1124, 11211.11214 são as portas de conexão elétricas às quais os nós de cálculo são conectados. As portas de conexão (inferiores e superiores) dos comutadores internos 1125...11210 também são portas de conexão elétricas no exemplo descrito.
[0040] O servidor de administração 108 é concebido para implementar um algoritmo de estabelecimento de rotas de comunicação entre nós. Mais precisamente, esse algoritmo é concebido para fornecer uma rota de comunicação entre um primeiro nó 1060.10663 e um segundo nó 1060.10663 a partir dos respectivos números desses nós 1060.10663 e da topologia do cluster 100.
[0041] No exemplo descrito, o algoritmo utilizado é o algoritmo D-mod-k, que aguarda um número, anotado como s, de um primeiro nó, chamado de nó-fonte, e um número, anotado como d, de um segundo nó, chamado de nó-destino, para definir uma rota de comunicação entre esses dois nós.
[0042] Partindo do nó-fonte, a rota de comunicação passa
Petição 870190017691, de 21/02/2019, pág. 44/60
11/18 primeiramente pelo comutador externo 1124.1124, 11211_11214 ao qual o nó-fonte é conectado.
[0043] Em seguida, é determinado, ao longo de uma etapa de teste, caso seja necessário passar por um comutador de nível superior para atingir o nó-destino.
[0044] Se for o caso, a seguinte fórmula é utilizada para selecionar uma porta de conexão superior (e, portanto, o comutador de nível superior pelo qual passar):
[d / (wo * po) / (W1 * p1) / ... / (Wx-1 * px-1) ] mod (wx * px) em que [ ] representa a parte inteira e o mod representa o módulo.
[0045] Caso contrário, o comutador de nível inferior no mais curto caminho em direção ao nó-destino é selecionado, depois a seguinte fórmula é utilizada para selecionar, no caso em que diversos links paralelos levam ao comutador de nível inferior selecionado, uma porta de conexão inferior:
[ d / ( w0* . *wx-1 ) ] mod (px-1)
em que [ ] representa a parte inteira e o mod representa o
módulo.
[0046] O algoritmo retorna, então, à etapa de teste.
[0047] Por exemplo, no exemplo descrito, quando é
necessário passar um comutador de primeiro nível 1121.1124, 11211.11214 a um comutador de segundo nível 1125, 1126, 1129,
11210, o algoritmo D-mod-k dá a fórmula [d] mod 2, que é periódica de período dois. Para passar um comutador de segundo nível 1125, 1126, 1129, 11210 para um comutador de terceiro nível 1127, 1128, o algoritmo D-mod-k dá a fórmula [d/2] mod 4, que é periódica de período oito.
[0048] O algoritmo é, então, concebido para fazer passar um mesmo link de comunicação das rotas cujos nós-destino são
Petição 870190017691, de 21/02/2019, pág. 45/60
12/18 números periódicos seguindo uma periodicidade superior (no sentido de estritamente superior) a um.
[0049] Como variante, o algoritmo S-mod-k poderia ser utilizado. Neste caso, fórmulas similares àquelas dos algoritmos D-mod-k são utilizadas, substituindo o número s pelo número d. O algoritmo S-mod-k é, portanto, também concebido para fazer passar por um mesmo link de comunicação rotas cujos nós-fonte possuem números periódicos seguindo uma periodicidade superior (ainda no sentido estritamente superior) a um.
[0050] Em referência à figura 2, um primeiro processo 200
de estabelecimento e de utilização de rotas de comunicação
entre nós 1060.10663 do cluster 100 vai, a seguir, ser
descrito.
[0051] Ao longo de um a etapa 202, o servidor de
administração 108 implementa uma exploração (discovery, em inglês) do cluster 100. A exploração permite determinar a topologia do cluster 100. Além disso, ao longo da exploração, os nós 1060...10663 encontrados são numerados seguindo uma primeira numeração global atribuindo aos nós 1060...10663 os primeiros números globais respectivos. No exemplo descrito, os primeiros números globais são obtidos a partir de números locais. Mais precisamente, sempre que um comutador externo 1121.1124, 11211.11214 for descoberto, os nós que são conectados a ele são numerados consecutivamente, a seguir, conforme o caso, os primeiros números globais já atribuídos, na ordem da numeração local das portas de conexão inferiores aos quais os nós são conectados.
[0052] Por exemplo, se o comutador externo 1121 é descoberto primeiramente, os primeiros números globais 0 - 7
Petição 870190017691, de 21/02/2019, pág. 46/60
13/18 serão respectivamente atribuídos aos nós 1060...1067. Se o comutador externo 1122 for, em seguida, descoberto, os primeiros números globais 8 - 15 serão respectivamente atribuídos aos nós 1068...10615, e assim em diante. Será, portanto, analisado, se, no âmbito da topologia do exemplo descrito, os primeiros números globais dos nós de armazenamento 1067, 10615, 10623, 10631, 10639, 10647, 10655,
10663 são periódicos de periodicidade oito.
[0053] Ora, como indicado anteriormente, a fórmula [d/2] mod 4 de seleção de portas de conexão superiores para passar o segundo nível ao terceiro nível é também periódica de periodicidade oito. Assim, se o algoritmo foi utilizado a partir dos primeiros números globais, todas as vias que partem, não importando quais nós cujos os primeiros números globais sejam 0 - 31 e cheguem aos nós de armazenamento 1067, 10615, 10623, 10631, 10639, 10647, 10655, 10663, passariam por um mesmo link de comunicação 114 estendendo-se entre o segundo e o terceiro níveis. Assim, esse link de comunicação 114 deveria suportar todas as rotas para quatro nós de armazenamento 10639, 10647, 10655, 10663 . Ora, os nós de armazenamento 1067, 10615, 10623, 10631, 10639, 10647, 10655,
10663 são, em geral, mais solicitados que os nós de cálculo, de maneira que esse link de comunicação 114 correria o risco de ficar muito congestionado. Além disso, o funcionamento do cluster 100 para a realização de uma tarefa, alterna geralmente fases de cálculos ao longo dos quais os nós de cálculos trocam dados entre si, e fases de back-up e/ou de recuperação de dados, ao longo dos quais os dados de cálculo trocam dados com os nós de armazenamento para registrar e/ou ler dados nos nós de armazenamento. Assim, nas fases de back
Petição 870190017691, de 21/02/2019, pág. 47/60
14/18 up e/ou de recuperação de dados, cada link de comunicação 114 empregado por diversas rotas ligando cada nó de cálculo a um nó de armazenamento seria fortemente solicitado e correria o risco de ficar muito congestionado.
[0054] Depois da etapa de exploração 202, o servidor de administração 108 obtém, portanto, ao longo de uma etapa 204, a topologia do cluster 100 com os primeiros números globais respectivamente atribuídos aos nós 1060...10663 .
[0055] Ao longo de uma etapa 206, o servidor de administração 108 seleciona os nós. No exemplo descrito, os nós de armazenamento 1067, 10615, 10623, 10631, 10639, 10647, 10655, 10663 são selecionados. Os nós a serem selecionados são, por exemplo, indicados ao servidor de administrador 108 por um usuário humano por meio de uma interface homemmáquina. Alternativamente, o servidor de administração 108 poderia ser concebido para determinar automaticamente quais, entre os nós 1060...10663, serão conectados às portas de conexão óticas.
[0056] De maneira geral, os nós selecionados são, de preferência, os que apresentam todos uma característica comum (que pode ser, por exemplo, detectada automaticamente), enquanto que os outros nós são desprovidos dessa característica. No exemplo descrito, essa característica é que a interface de rede formando o nó selecionado é uma interface de rede ótica. Alternativamente, outras características poderiam ser levadas em conta. Por exemplo, a característica comum poderia ser que o nó pertence a um computador de armazenamento. Ainda como exemplo, a característica comum poderia ser a presença de um processador gráfico (Graphics Processing Unit”, em inglês) no computador
Petição 870190017691, de 21/02/2019, pág. 48/60
15/18 de cálculo.
[0057] Ao longo de uma etapa 208, o servidor de administração 108 numera os nós 1060.10663 seguindo uma segunda numeração global, diferente da primeira numeração global, pelo menos para uma parte dos nós selecionados 1067, 10615, 10623, 10631, 10639, 10647, 10655, 10663 . Nessa segunda numeração, os segundos números globais são respectivamente atribuídos aos nós 1060...10663, de maneira que os segundos números globais dos nós selecionados 1067, 10615, 10623, 10631, 10639, 10647 sejam sucessivamente separados de valores cada um diferente da periodicidade de cada um em pelo menos uma parte dos links de comunicação 114, de preferência de todos os links de comunicação 114.
[0058] No exemplo descrito, os segundos números globais dos nós selecionados 1067, 10615, 10623, 10634, 10639, 10647 são escolhidos consecutivos, de forma que os valores os separando sejam todos iguais a um e, dessa forma, obrigatoriamente diferentes das periodicidades de todos os links de comunicação 114.
[0059] Por exemplo, o algoritmo seguinte (incluindo as etapas de A a F) pode ser utilizado para passar da primeira numeração global à segunda numeração global.
A: Um contador é inicializado em zero.
B: Um tipo de nó que ainda não foi selecionado é selecionado. Se todos os tipos de nó foram selecionados, o algoritmo é encerrado.
C: O primeiro nó do tipo selecionado de acordo com a ordem da primeira numeração é visto como nó em curso.
D: O valor do contador é atribuído ao nó em curso como segundo número global.
Petição 870190017691, de 21/02/2019, pág. 49/60
16/18
E: O contador é aumentado.
F: O nó do tipo selecionado que segue de acordo com a ordem da primeira numeração é visto como nó em curso e retorna-se à etapa D. Se todos os nós do tipo selecionado forem percorridos, retorna-se à etapa B.
[0060] Esse algoritmo é utilizado com pelo menos dois tipos de nós: um primeiro tipo de nó formado pelos nós selecionados e um segundo tipo de nó formado dos nós não selecionados.
[0061] Assim, no exemplo descrito, na segunda numeração global, os nós de cálculo são numerados de 0 a 55 e os nós de
armazenamento são numerados de 56 a 63.
[0062] Ao longo de uma etapa 210, o servidor de
administração 108 implementa o algoritmo executando-o para
cada par de nós, os nós sendo referenciados pelos seus
segundos números globais.
[0063] Ao longo de uma etapa 212, o servidor de
administração 108 implementa na rede 110 as rotas fornecidas pelo algoritmo na etapa 210. No exemplo descrito, as rotas são registradas nas tabelas de roteamento transmitidas a cada comutador 1121 ...11214.
[0064] Ao longo de uma etapa 214, o servidor de administração 108 recebe, da parte de um cliente, uma requisição para a execução de uma tarefa.
[0065] Ao longo de uma etapa 216, pelo menos uma parte dos computadores 102, 104 executam a tarefa requerida comunicando-se entre eles por meio da rede 110, utilizando as rotas de comunicação estabelecidas na etapa 210.
[0066] Em referência à figura 3, um segundo processo 300 de estabelecimento e utilização de vias de comunicação entre
Petição 870190017691, de 21/02/2019, pág. 50/60
17/18 nós 1Ο6ο...1Ο6β3 do cluster 100 vai, a seguir, ser descrito.
[0067] O segundo processo 300 inclui as etapas 202, 204,
206, como para o primeiro processo 200.
[0068] Depois da etapa 206, o segundo processo 300 comporta as etapas 302 a 306 seguintes.
[0069] Ao longo da etapa 302, o servidor de administração 108 determina a periodicidade de cada uma de pelo menos uma parte dos links de comunicação 114,
Por exemplo, essa periodicidade de preferência de todos.
determinada a partir das fórmulas do algoritmo utilizado.
[0070]
Ao longo da etapa 304, servidor de administração
108 determina os valores destinados para separar, sucessivamente, os segundos números globais dos nós selecionados
1067,
10615, 10623,
10631,
10639, 10647,
10655,
106 63, cada valor determinado sendo diferente de cada periodicidade determinada.
[0071]
Por exemplo, no exemplo descrito, os links de comunicação 114 se estendendo entre o primeiro e o segundo nível têm uma periodicidade de dois, enquanto que os links de comunicação 114 se estendendo entre o segundo nível e terceiro nível têm uma periodicidade de oito.
Assim, os valores destinados a sucessivamente separar os segundos números globais dos nós selecionados 1067, 10615,
10623, 10631, 10639, 10647, 10655,
10663 são cada um diferentes de dois e de oito. Por exemplo, é possível que os valores estejam todos valendo todos um, como no processo 200, ou ainda encontrar valores diferentes uns dos outros, desde que sejam diferentes de dois e de oito.
[0072]
Ao longo de uma etapa 306, o servidor de administração 108 numera os nós 1060.10663 seguindo uma
Petição 870190017691, de 21/02/2019, pág. 51/60
18/18 segunda numeração global, diferente da primeira numeração global, pelo menos por uma parte dos nós selecionados. Nessa segunda numeração, os segundos números globais dos nós selecionados 1067, 10615, 10623, 10631, 10639, 10647 são sucessivamente separados dos valores determinados na etapa 304 .
[0073] O segundo processo 300 comporta, a seguir, as etapas 210 a 216 descritas anteriormente.
[0074] Parece evidente que um processo, tal como os descritos anteriormente, permite assegurar que a utilização dos links de comunicação seja bem equilibrada para os nós selecionados.
[0075] Observa-se, aliás, que a invenção não se limita aos modos de realização descritos anteriormente. Parece, de fato, ao perito que diversas modificações podem ser feitas aos modos de realização descritos acima, à luz da explicação que acaba de ser divulgada. Na apresentação detalhada da invenção que é feita anteriormente, os termos utilizados não devem ser interpretados como limitadores para a invenção aos modos de realização expostos na presente descrição, mas devem ser interpretados de forma a incluir todos os equivalentes cuja previsão pode ser feita pelo perito que aplica seus conhecimentos gerais na implementação da explicação que acaba de ser divulgada.

Claims (5)

  1. REIVINDICAÇÕES
    1. Processo para estabelecer rotas de comunicação entre nós de um cluster, incluindo:
    nós (106q...10663) ,
    - uma rede (110) de interconexão de nós (106q...10663) que inclua: - comutadores (1121...11214) a uma parte às quais os nós (1O6o...1O663) são conectados, - links de comunicação (114) entre os comutadores
    (1121. . . 11214) , o cluster (100) que apresenta uma certa tipologia definindo a disposição relativa dos nós (1O6o...1O663), dos comutadores (1121...11214) e dos links de comunicação (114), o processo (200; 300) incluindo:
    - obter (204) a topologia do cluster (100), com os primeiros números globais respectivamente atribuídos aos nós (106q...10663) ,
    - implementar (210), para cada par de nós (1O6o...1O663), um algoritmo concebido para fornecer uma rota de comunicação entre o primeiro e o segundo nós do par, a partir de números respectivos desses nós e da topologia do cluster (100), o algoritmo sendo concebido para fazer passar por um mesmo link de comunicação (114) das rotas cujos primeiros ou segundos nós têm números periódicos que sigam uma periodicidade superior a um, caracterizado pelo fato de incluir ainda:
    - selecionar (206) os nós (1067, 1O615, 10623, 10631, 10639,
    1O647, 1O655, 10663),
    - numerar (208) os nós (1O6o...1O663) para atribuir a eles os segundos números globais, diferentes dos primeiros números globais para ao menos uma parte dos nós selecionados (1067,
    Petição 870190017691, de 21/02/2019, pág. 53/60
  2. 2/5
    10615, 10623, ΙΟ631, ΙΟ639, ΙΟ647, ΙΟ655, 10663) , os segundos números globais dos nós selecionados (1067, 1Ο615, 1Ο623,
    1Ο631, 1Ο639, 10647, 10655, 106 63) sendo sucessivamente separados de valores cada um diferente da periodicidade de cada um de pelos menos uma parte dos links de comunicação (114), e, dessa forma, para a implementação do algoritmo, os nós (1060...10663) sejam referenciados pelos segundos números globais.
    2. Processo, de acordo com a reivindicação 1, caracterizado pelo fato de os nós selecionados (1067, 10615, 10623, 10631,
    10639, 10647, 10655, 10663) apresentarem uma característica comum, da qual os outros nós são desprovidos.
  3. 3. Processo, de acordo com a reivindicação 2, caracterizado pelo fato de a característica ser que os nós selecionados
    (1067, 10615, 10623, 10631, 10639, 10647, 10655, 10663) são interfaces de rede óticas. 4. Processo, de acordo com a reivindicação 2 ou 3, caracterizado pelo fato de a característica ser que os nós selecionados (1067, 10615, 10623, 10631, 10639, 10647, 10655,
    10663) pertencem a computadores de armazenamento (104).
    5. Processo, de acordo com a reivindicação 2, caracterizado pelo fato de a característica ser de que os nós selecionados (1067, 10615, 10623, 10631, 10639, 10647, 10655, 10663) pertençam aos computadores de cálculo (102) que incluem um processador gráfico.
    6. Processo, de acordo com qualquer uma das reivindicações de 1 a 5, caracterizado pelo fato de os segundos números globais dos nós selecionados (1067, 10615, 10623, 10631, 10639, 10647, 10655, 10663) serem sucessivos.
    7. Processo, de acordo com qualquer uma das reivindicações
    Petição 870190017691, de 21/02/2019, pág. 54/60
    3/5 de 1 a 6, caracterizado pelo fato de incluir ainda:
    - determinar (302) a periodicidade de pelo menos uma parte dos links de comunicação (114),
    - determinar (304) os valores destinados a sucessivamente separar os segundos números globais dos nós selecionados (1067, 10615, 10623, 10631, 10639, 10647, 10655, 10663), cada valor determinado sendo diferente de cada periodicidade determinada.
    8. Processo, de acordo com uma qualquer das reivindicações de 1 a 7, caracterizado pelo fato de os nós (1060...10663) serem conectados a portas de conexão de uma parte dos comutadores, essas portas de conexão apresentam números locais no comutador ao qual essas portas de comunicação pertencem, e no qual os primeiros números globais são obtidos a partir de números locais.
    9. Processo, de acordo com a reivindicação 8, caracterizado pelo fato de os primeiros números globais dos nós (1060.10663) conectados a portas de conexão de um comutador seguirem consecutivamente na mesma ordem que os números locais das portas de conexão aos quais esses nós (1060.10663) são respectivamente conectados.
    10. Processo, de acordo com qualquer uma das reivindicações de 1 a 9, caracterizado pelo fato de incluir ainda a seguinte etapa:
    - explorar (202) o cluster (100) para determinar sua topologia, os nós (1060.10663) sendo numerados seguindo a primeira numeração global ao longo dessa exploração.
    11. Processo, de acordo com qualquer uma das reivindicações de 1 a 10, caracterizado pelo fato de o cluster (110) ser concebido para alternar as primeiras fases ao longo das quais
    Petição 870190017691, de 21/02/2019, pág. 55/60
  4. 4/5 os nós não selecionados trocam os dados entre eles, e as segundas fases ao longo das quais os nós não selecionados trocam dados com os nós selecionados.
    12. Programa de computador, que pode ser baixado de uma rede de comunicação e/ou registrado em um suporte legível pelo computador e/ou executável por um processador, caracterizado pelo fato de abranger as instruções para a execução das etapas de um processo (200; 300) de estabelecimento de rotas de comunicação entre nós (1060...10663) de um cluster (100), conforme definido em qualquer uma das reivindicações de 1 a 11, quando o programa mencionado é executado em um computador.
    13. Cluster, incluindo:
    - nós (106 .1066 ) ,
    - uma rede (110) de interconexão de nós (1060...10663), que inclui:
    - comutadores (1121...11214) a uma parte das quais os nós (1060.10663) são conectados, - links de comunicação (114) entre os comutadores (1121...11214), o cluster (100) que apresenta uma certa tipologia que define
    a disposição relativa dos nós (1060.10663), dos comutadores (1121...11214) e dos links de comunicação (114), cluster (100), que inclui:
    - meios de obtenção da topologia do cluster (100), com os primeiros números globais respectivamente atribuídos aos nós (1060.10663),
    - meios de implementação, para cada par de nós (1060.10663), de um algoritmo concebido para fornecer uma rota de comunicação entre o primeiro e o segundo nós do par, a
    Petição 870190017691, de 21/02/2019, pág. 56/60
  5. 5/5 partir de números respectivos desses nós e da topologia do cluster (100), o algoritmo sendo concebido para fazer passar por um mesmo link de comunicação (114) das rotas cujos primeiros ou segundos nós têm números periódicos que sigam uma periodicidade superior a um, caracterizado pelo fato de incluir, ainda:
    - os meios de seleção de nós (1067, 10615, 10623, 10631,
    10639, 10647, 10655, 10663),
    - os meios de numeração dos nós (1060...10663) para atribuir a eles os segundos números globais, diferentes dos primeiros números globais para pelo menos uma parte dos nós selecionados (1067, 10615, 10623, 10631, 10639, 10647, 10655,
    106 63), os segundos números globais dos nós selecionados (1067, 10615, 10623, 10631, 10639, 10647, 10655, 10663) sendo sucessivamente separados dos valores cada um diferente da periodicidade de cada um de pelos menos uma parte dos links de comunicação (114), e, dessa forma, para a implementação do algoritmo, os nós (1060.10663) sejam referenciados pelos segundos números globais.
BR102019003524A 2018-02-22 2019-02-21 processo para estabelecer rotas de comunicação entre nós de um cluster, programa de computador e cluster BR102019003524A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1851558A FR3078220B1 (fr) 2018-02-22 2018-02-22 Procede d'etablissement de routes de communication entre nœuds d'une grappe d'ordinateurs, programme d'ordinateur et grappe d'ordinateurs correspondants

Publications (1)

Publication Number Publication Date
BR102019003524A2 true BR102019003524A2 (pt) 2019-09-10

Family

ID=61764038

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102019003524A BR102019003524A2 (pt) 2018-02-22 2019-02-21 processo para estabelecer rotas de comunicação entre nós de um cluster, programa de computador e cluster

Country Status (6)

Country Link
US (1) US11190404B2 (pt)
EP (1) EP3531641B1 (pt)
JP (1) JP2019169135A (pt)
BR (1) BR102019003524A2 (pt)
FR (1) FR3078220B1 (pt)
IL (1) IL264684A (pt)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3100069B1 (fr) * 2019-08-23 2021-10-29 Bull Sas Procédé rapide d’établissement de routes de communication entre ordinateurs d’un superordinateur

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987011A (en) * 1996-08-30 1999-11-16 Chai-Keong Toh Routing method for Ad-Hoc mobile networks
US6980537B1 (en) * 1999-11-12 2005-12-27 Itt Manufacturing Enterprises, Inc. Method and apparatus for communication network cluster formation and transmission of node link status messages with reduced protocol overhead traffic
US7426566B2 (en) * 2001-01-17 2008-09-16 International Business Machines Corporation Methods, systems and computer program products for security processing inbound communications in a cluster computing environment
US7281057B2 (en) * 2002-04-29 2007-10-09 Harris Corporation Hierarchical mobile ad-hoc network and methods for performing reactive routing therein
FR2960369B1 (fr) * 2010-05-20 2013-03-01 Bull Sas Procede d'optimisation de routage dans un cluster comprenant des liens de communication statiques et programme d'ordinateur mettant en oeuvre ce procede
JP5849486B2 (ja) * 2011-07-19 2016-01-27 富士通株式会社 ネットワーク装置及びネットワーク管理装置
US9130858B2 (en) * 2012-08-29 2015-09-08 Oracle International Corporation System and method for supporting discovery and routing degraded fat-trees in a middleware machine environment
US9331958B2 (en) * 2012-12-31 2016-05-03 Advanced Micro Devices, Inc. Distributed packet switching in a source routed cluster server
FR3037463B1 (fr) * 2015-06-15 2017-06-23 Bull Sas Transformation d'infrastructures reseaux non structurees en topologies virtuelles structurees adaptees a des algorithmes de routage specifiques
FR3040575B1 (fr) * 2015-09-02 2017-08-18 Bull Sas Procede de determination automatisee de topologies d'interconnexion optimales de systemes comprenant des nœuds de service, et dispositif de traitement associe

Also Published As

Publication number Publication date
FR3078220B1 (fr) 2020-04-24
FR3078220A1 (fr) 2019-08-23
IL264684A (en) 2019-05-30
EP3531641B1 (fr) 2020-10-28
JP2019169135A (ja) 2019-10-03
US20190260645A1 (en) 2019-08-22
EP3531641A1 (fr) 2019-08-28
US11190404B2 (en) 2021-11-30

Similar Documents

Publication Publication Date Title
AU2017228442B2 (en) Provisioning of containers for virtualized applications
Shin et al. Small-world datacenters
US20160349993A1 (en) Data-driven ceph performance optimizations
US20110234583A1 (en) Method and apparatus for parallel ray-tracing employing modular space division
US20130300747A1 (en) Multi-dimensional visualization tool for browsing and troubleshooting at scale
JP2009141946A (ja) エントロピーに基づく(自己組織化)安定度管理
CN108712286A (zh) 网络拓扑结构的确定方法、装置和存储介质
US10616141B2 (en) Large scale fabric attached architecture
US20140176574A1 (en) Method and Apparatus for Interprocessor Communication Employing Modular Space Division
US20210409303A1 (en) System and method for data route discovery through cross-connection tunnels
Faraji et al. Topology-aware GPU selection on multi-GPU nodes
US20140136688A1 (en) Optimizing partition placement in virtualized environments
BR102019003524A2 (pt) processo para estabelecer rotas de comunicação entre nós de um cluster, programa de computador e cluster
Hwang et al. Topology discovery and service classification for distributed-aware clouds
US20190370142A1 (en) Displaying computing system metrics
US11929881B2 (en) 3D visualization of multi-layer networks including network topology and encapsulation
JP6545836B2 (ja) マルチテナント型データセンタにおけるvmからvmのトラフィック推定
US11411855B1 (en) Computation of ranked path options in networks
Barakat et al. Gavel: Software-defined network control with graph databases
Liu et al. Topology-aware strategy for MPI-IO operations in clusters
Fakih et al. Heterogeneous computing and multi-clustering support via peer-to-peer hpc
Fu et al. Dandelion: A locally-high-performance and globally-high-scalability hierarchical data center network
Peterson et al. A hybrid cloud framework for scientific computing
Ijaz et al. Wireless NoC for Inter-FPGA Communication: Theoretical Case for Future Datacenters
Shin et al. Multi-layer onion-ring visualization of distributed clusters for SmartX multiview visibility and security

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 3A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2675 DE 12-04-2022 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.