BR102015020326A2 - servidor compreendendo uma pluralidade de módulos - Google Patents

servidor compreendendo uma pluralidade de módulos Download PDF

Info

Publication number
BR102015020326A2
BR102015020326A2 BR102015020326A BR102015020326A BR102015020326A2 BR 102015020326 A2 BR102015020326 A2 BR 102015020326A2 BR 102015020326 A BR102015020326 A BR 102015020326A BR 102015020326 A BR102015020326 A BR 102015020326A BR 102015020326 A2 BR102015020326 A2 BR 102015020326A2
Authority
BR
Brazil
Prior art keywords
module
modules
fpga
bmc
server
Prior art date
Application number
BR102015020326A
Other languages
English (en)
Inventor
Brassac Claude
Lecourtier Georges
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 BR102015020326A2 publication Critical patent/BR102015020326A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Hardware Redundancy (AREA)
  • Radio Relay Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Logic Circuits (AREA)

Abstract

resumo da patente de invenção para: "servidor compreendendo uma pluralidade de módulos". servidor (100), compreendendo uma pluralidade de módulos (1-8), cada módulo compreendendo: um elemento de comunicação (16, 26); uma pluralidade de processadores cpu (10, 11, 20, 21); sistema sobre um chip soc (12, 22) que executa um microprograma; uma rede de portas programáveis (fpga) (13, 23); os módulos sendo interconectados por: uma interconexão (27) entre cada elemento de comunicação; uma interconexão (28) entre cada sistema sobre um chip soc; o microprograma executado, realizando dois componentes de programas: um componente controlador satélite de gestão do sistema smc (15, 25); e um componente controlador de gestão da placa base bmc (14, 24).

Description

Relatório Descritivo da Patente de Invenção para: "SERVIDOR COMPREENDENDO UMA PLURALIDADE DE MÓDULOS".
[0001] A presente invenção se refere ao domínio dos sistemas de tratamento da informação e/ou da comunicação. Mais particularmente, a invenção propõe a realização de um servidor de múltiplos módulos e a implementação das funções que lhe são associadas.
[0002] Dentre as arquiteturas de servidores informáticos, os servidores de redes de multiprocessadores ditos SMP, acrônimo inglês de Symetric Multi Processor, são tipicamente realizados por uma pluralidade de circuitos integrados, comumente denominados sockets. Para esses servidores, os sockets constituem os processadores do sistema, esses circuitos integrados sendo ligados por uma barra de interconexâo com elevado fluxo e latência muito baixa, permitindo a realização de uma memória compartilhada. Será entendido na sequência, por "interconexâo", uma ligação física e lógica, conectando duas interfaces de conexão.
[0003] Geralmente, por razões de desempenhos elétricos, cada socket suporta diretamente uma parte dos componentes de memória do servidor de SMP. 0 conjunto dessa memória é, então, tornado coerente por meio de controladores de memórias, permitindo garantir automaticamente que qualquer dado modificado por um dos processadores seja então visível por todos os outros.
[0004] Por razões físicas, um servidor de SMP, que apresenta um número elevado de sockets, deve então ser particionado em vários subsistemas. Esses subsistemas podem, a título de exemplo, ser realizados por placas filhas conectadas a uma placa mãe, as barras conectadas a uma fonte de alimentação distribuindo as alimentações e os sinais dos barramentos, ou ainda módulos autoalimentados com tensão e corrente pelo servidor. Fala-se então de servidor de SMP multimodular.
[0005] Independentemente da arquitetura de um servidor de SMP, o mesmo necessita das ferramentas de alimentação de material baseadas em normas e/ou padrões.
[0006] Assim, a interface de gerenciamento de plataforma inteligente, dita IPMI (acrônimo de Intelligent Plataform Management Interface) fornece um conjunto de especificações de interfaces visando o gerecniamento, isto é, supervisionar e controlar, o estado físico de determinados componentes ou materiais eletrônicos presentes em equipamentos informáticos. 0 padrão IPMI permite, a título de exemplo, controlar em um servidor a regulagem de temperatura, de tensão, da alimentação elétrica dos microprocessadores, sua boa colocação sob tensão, da taxa de umidade dos componentes, ou ainda a velocidade dos ventiladores de resfriamento. 0 conjunto das funções do IPMI são, em geral, ativáveis via um sistema básico de entrada/ saída dito BIOS (acrônimo inglês de Basic Input / Output System) ou via um programa de gerenciamento fornecido pelo fabricante do equipamento. Assim, em caso de necessidade, por exemplo, quando da aparição de um alerta associado a um acontecimento (por exemplo, superaquecimento) de um equipamento, o administrador de uma rede é capaz via uma interface gráfica apropriada e a partir de um mesmo local (por exemplo, em uma máquina local ou à distância), desligar eletricamente o referido equipamento, acioná-lo, reinicializar seus parâmetros se necessário, ou ainda ligar um equipamento alternativo.
[0007] Para equipamentos materiais (ditos hardware, em inglês), a supervisão do estado físico dos componentes ou materiais eletrônicos é comumente assegurada por um controlador de gerenciamento da placa base dita BMC (acrônimo inglês de Baseboard Management Controler), implementado sobre a placa mãe, ou sobre a placa principal do material a supervisionar, A título de exemplo, para um servidor, as funções do BMC são realizadas pela integração sobre a placa mãe do servidor de um sistema em um chip SOC (acrônimo inglês de System On Chip) , no qual é executado um microprograma (dito firmware, em inglês) implementando o padrão IPMI.
[0008] Todavia, as diversas implementações existentes só respondem à problemática atual de um servidor com uma placa-mâe. No caso de um servidor que compreende uma pluralidade de módulos conectados via barramentos lógicos de dados a um componente de interconexão, por exemplo, conectados segundo o padrão I2C (acrônimo inglês de Intez-Integrated Circuit) , a utilização de controlador BMC se mostra rapidamente limitada. O número de captadores aumenta, com efeito, proporcionalmente com o número de módulos interconectados, enquanto que o padrão IPMI se limita a um número predefinido de captadores autorizados. Por outro lado, o aumento do número de módulos necessita da extensão dos barramentos lógicos de dados. Essa extensão, no caso, por exemplo, do I2C, é pouco confiável, falta desempenho e flexibilidade.
[0009] A fim de contornar os problemas devido ao suporte ao IPMI, uma solução consiste então em se voltar para padrões de administração de proprietários. Essa solução se mostra, todavia, pouco interessante, caso se deseje continuar a garantir, ao mesmo tempo, uma interoperabilidade e possibilidades de integração dos servidores com sistemas de gerenciamento de dados existentes, esses sistemas utilizando interfaces de gerenciamento padrão.
[0010] Convém, portanto, continuar a assegurar o suporte do padrão IPMI, e mais geralmente de interfaces de gerenciamento padrão, para equipamentos informáticos de múltiplos módulos, visando garantir a compatibilidade entre equipamentos.
[0011] Δ presente invenção tem por objeto prevenir os inconvenientes mencionados acima.
[0012] Um primeiro objetivo é fornecer uma arquitetura de servidor de múltiplos módulos.
[0013] Um segundo objetivo é fornecer um servidor de múltiplos módulos com um número de módulos extensivo e permitindo a compatibilidade de programa com interfaces de gerenciamento padrão.
[0014] Um terceiro objetivo é fornecer um micro programa compatível com interfaces de gerenciamento padrão, tal o padrão IPMI, e permitindo o gerenciamento de qualquer módulo constitutivo de um servidor de múltiplos módulos.
[0015] Para isso, é proposto um servidor que compreende uma pluralidade de módulos, cada módulo compreendendo: um elemento de comunicação apto a assegurar a coerência de uma memória compartilhada entre os módulos; - uma pluralidade de processadores CPU conectados entre si e conectados ao elemento de comunicação; - um sistema sobre um chip SOC conectado à pluralidade de processadores CPU e ao elemento de comunicação, o sistema sobre um chip SOC executando um micro programa; - uma rede de portas programáveis (FPGA) conectada ao sistema sobre um chip SOC, ao elemento de comunicação e à pluralidade de processadores CPU; os módulos sendo interconectados por: uma interconexão entre cada elemento de comunicação via uma rede XQPI; - uma interconexão entre cada sistema sobre um chip SOC via uma rede privada em protocolo Ethernet, encapsulando um protocolo de comunicação de acordo com o padrão IPMB; o micro programa executado sobre cada sistema sobre um chip SOC de cada módulo realizando dois componentes de programas, a saber: um componente controlador via satélite de gerenciamento do sistema (SMC) apto a medir os parâmetros físicos de seu módulo e gerar as funções locais desse módulo; - um componente controlador de gerenciamento da placa base (BMC) apto a supervisionar o conjunto dos SMC de todos os módulos, gerar de maneira central o conjunto das funções do servidor e trocar dados com cada um dos componentes BMC via a interconexào entre cada sistema sobre um chip SOC.
[0016] Vantajosamente, nesse servidor, a interconexào dos elementos de comunicação e a interconexào dos SOC são realizadas via o intermediário de uma caixa de interconexào, a caixa de interconexào compreendendo uma rede de portas programáveis (FPGA).
[0017] Vantajosamente, nesse servidor, a caixa de interconexào é alimentada eletricamente pelos módulos, cada módulo compreendendo pelo menos dois blocos de alimentação PSU, os blocos de alimentação PSU sendo dimensionados com uma redundância 2N.
[0018] Vantajosamente, nesse servidor, uma das funções geradas por cada componente BMC é uma função que permite a instanciação dos módulos, essa função sendo realizada da seguinte maneira: - o envio de uma busca de identificador ID pela FPGA de cada módulo à caixa de interconexào por intermédio do sistema sobre um chip SOC; - o envio pela FPGA da caixa de interconexào de um identificador ID único à FPGA em resposta à busca de identificador; - a determinação pelo componente BMC do endereço de seu módulo e endereços dos módulos aos quais ele é interconectado, a determinação desses endereços sendo realizada em função do identificador ID recepcionado pelo FPGA.
[0019] Vantajosamente, nesse servidor, o identificador ID enviado pelo FPGA da caixa de interconexão é determinado em função de cada local de conexão física de cada um dos módulos ao modulo de interconexão.
[0020] Vantajosamente, nesse servidor, cada um dos módulos compreende: - um gerador de sinal de relógio, apto a sincronizar os processadores CPU de seu módulo; - seu FPGA programado para particionar e agrupar em subconjuntos os módulos, em função de características comuns.
[0021] Vantajosamente, nesse servidor, cada componente BMC é programado para: - identificar em um conjunto ou um subconjunto de módulos seus pertencentes a um módulo mestre ou escravo. Em função de informações de identificação de cada um dos módulos desse conjunto ou subconjunto; - se ele pertencer a um módulo mestre, configurar seu FPGA, de maneira que o FPGA distribua o sinal de relógio do módulo mestre aos módulos escravos do mesmo conjunto ou subconjunto; - se ele pertencer a um módulo escravo, configurar sua FPGA, de maneira que a FPGA desative o sinal de relógio do módulo escravo.
[0022] Vantajosamente, nesse servidor, cada processador CPU de cada módulo compreende medidores de data e hora TSC, aptos a sincronizar tarefas que comportam uma pluralidade de processos leves, a sincronização do conjunto dos medidores de data e hora TSC desses processadores CPU em um conjunto ou um subconjunto de módulo sendo realizada: - pelo envio por cada componente BMC de cada módulo escravo desse conjunto ou subconjunto, de uma notificação ao BMG do módulo mestre, quando o módulo escravo sai de uma fase de inicialização ou de reinicialização; - por uma notificação ao BMC do módulo mestre, quando o módulo mestre sai de uma fase de inicialização ou de reinicialização; - pelo envio pelo BMC do módulo mestre, quando todos os módulos mestre e escravos saíram de uma fase de inicialização ou de reinicialização, de um sinal de sincronização apto a reinicializar o conjunto dos medidores de data e hora TSC dos processadores CPU para todos os módulos do mesmo conjunto ou subconjunto.
[0023] Vantajosamente, nesse servidor, cada FPGA de cada módulo compreende medidores de data e hora TSC, aptos quando de qualquer ocorrência de erro em seu módulo a registrar informações relativas ao erro compreendendo pelo menos a data e hora do erro, a sincronização do conjunto dos medidores de data e hora TSC de cada FPGA em um conjunto ou um subconjunto de módulo sendo realizada: - pelo envio por cada componente BMC de cada módulo escravo desse conjunto ou subconjunto, de uma notificação ao BMC do módulo mestre, quando o módulo escravo sai de uma fase de inicialização ou de reiniciaiização; - por uma notificação ao BMC do módulo mestre, quando o módulo mestre sai de uma fase de inicialização ou de reinicialização; - pelo envio pelo BMC do módulo mestre, quando todos os módulos mestre e escravos saíram de uma fase de inicialização ou de reinicialização, de um sinal de sincronização apto a reinicializar o conjunto dos medidores de data e hora TSC do FPGA para todos os módulos do mesmo conjunto ou subconjunto.
[0024] Vantajosamente, nesse servidor, a identificação de um erro em seu conjunto ou um subconjunto módulos é realizada por uma etapa de comparação entre as informações de erros registrados pelo conjunto dos medidores de data e hora TSC do FPGA desse conjunto ou subconjunto, os BMC estando aptos a trocar e dividir as informações de erros no mesmo conjunto ou subconjunto de módulos.
[0025] Outros objetivos e vantagens da invenção aparecerão com base na descrição de concretizações, apresentada a seguir com referência aos desenhos anexados, nos quais: A figura 1 é uma representação de um servidor que compreende uma pluralidade de módulos, de acordo com uma concretização; A figura 2 é uma representação da interconexão de oito módulos com uma caixa de interconexão em um servidor, conforme uma concretização.
[0026] Na figura 1 é representada uma concretização de um servidor 100, compreendendo uma pluralidade de módulos 1, 2, 3, três nesse exemplo, tais como placas mães ou placas de circuito impresso. Todavia, outro número de módulos pode ser integrado no servidor 100, por exemplo, oito.
[0027] Vantajosamente, cada um dos módulos 1, 2, 3 é idêntico e compreende os seguintes elementos: ura ou vários processadores CPU 10, 11, 20, 21 (acrônimo inglês de Central Processing Unit). No exemplo ilustrado, cada módulo 1, 2 é bi-socket, isto é, ele suporta respectivamente dois processadores CPU 10, 11, 20, 21. Vantajosamente, os processadores CPU 10, 11, 20, 21 de um mesmo módulo 1, 2, 3 são interconectados entre eles via uma ligação QPI 101, 201, acrônimo inglês de QuickPath Interconnect; - um sistema sobre um chip SOC 12, 22, por exemplo, um microcontrolador, executando um microprograma de gerenciamento. Em uma concretização, o microprograma compreende dois processos executados em paralelo, e aptos a trocar informações, cada um realizando respectivamente de maneira lógica a função de um componente: um componente BMC 14, 24 e um componente controlador via satélite de gerenciamento do sistema designado na sequência pela denominação componente SMC 15, 25, acrônimo inglês de Satellite Management Controller. Vantajosamente, as funções dos componentes BMC 14, 24 e SMC 15, 25 são definidas no padrão IPMI. Em uma concretização, o SOC 12, 22, está apto a trocar dados com processadores CPU 10, 11, 20, 21 via uma Interface de Controle do Ambiente da Plataforma, comumente designada pela denominação Interface PECI 102, 202, acrônimo inglês de Platform Environment Control Interface; - um componente rede de portas programáveis, comumente designado pela denominação FPGA 13, 23 (acrônimo inglês de Field-Programmable Gate Array), permitindo notadamente a transmissão de sinais a qualquer componente com o qual é interfaciado, por exemplo, de sinais de relógios, de erros e/ou de reinicialização. Vantajosamente, o FPGA 13, 23 compreende uma ligação 103, 203 apta a trocar dados com os processadores CPU 10, 11, 20, 21 e uma ligação 104, 204 apto a trocar dados com o SOC 12, 22; memórias tais como caches associados aos processadores CPU 10, 11, 20, 21; - um elemento de comunicação 16, 26 compreendendo uma ligação 105, 205 com cada um dos processadores CPU 10, 11, 20, 21, apto a assegurar a coerência de uma memória "global" dividida entre os processadores CPU 10, 11, 20, 21 de cada módulo 1, 2, 3. Em uma concretização, o elemento de comunicação 16, 26 é um componente do tipo BCS, acrônimo inglês de Bull Coherent Switch, que é uma solução proposta pelo depositante e disponível no mercado, ou qualquer versão posterior deste, tal o componente BCS2 (Bull Coherent Switch 2) . O elemento de comunicação 16, 26 é, além disso, apto para trocar dados com o FPGA 13, 23, via a ligação 103, e com o SOC 12, 22 via um barramento 106, 206, segundo o padrão I2C.
[0028] Vantajosamente, os módulos 1, 2, 3 do servidor 100 são interconectados por enlaces de altas velocidades, realizando as seguintes interconexões: - uma interconexão 27 dos elementos de comunicação 16, 26 dos módulos 1, 2, 3 via uma rede XQPI, acrônimo inglês de eXtended QuickPath Interconnect, que é uma solução de interconexão proposta pelo depositante e disponível no mercado. Vantajosamente, a interconexão 27 permite aos elementos de comunicação 16, 26, tais como BCS2 próprios aos módulos 1, 2, 3, trocar informações, assegurando assim a coerência de memória do conjunto dos módulos 1, 2, 3. A interconexão 27 via a rede XQPO permite, além disso, o transporte entre cada módulo 1, 2, 3 de sinais de sincronizações, tais como sinais de relógios, cuja sincronização é gerada pelos FPGA 13, 23; - uma interconexão 28 dos SOC 12, 22 dos módulos 1, 2, 3 via uma rede privada em protocolo Ethernet, encapsulando um protocolo de comunicação em acordo com o padrão IPMB, acrônimo inglês de Intelligent Platform Management Bus. No estado da técnica, o padrão IPMB é utilizado sobre barramentos de comunicação, de acordo com o padrão I/_C. A
utilização do padrão IPMB sobre uma rede local LAN (acrônimo inglês de Local Area NetWork), dito IPMB sobre LAN, tal como vantagens de melhorar o desempenho, a confiabilidade e a flexibilidade das transmissões de dados entre cada um dos SOC 12, 22 dos módulos 1, 2, 3 do servidor 100.
[0029] Deve ser notado que cada enlace de tipo de interconexão 28 comporta um enlace Ethernet bidirecional e um conjunto de sinais de banda lateral, cujos sinais SPI (para Serial Peripheral Interface) .
[0030] Em uma concretização, a interconexão 27 dos elementos de comunicação 16, 26, e a interconexão 28 dos SOC 12, 22 são realizadas via o intermediário de uma caixa de interconexão 30, ilustrado na figura 2 e descrito posteriormente. A titulo de exemplo, a caixa de interconexão 30 é uma "fonte de alimentação", compreendendo um comutador de rede, comumente designado pelo anglicismo Switch.
[0031] Vantajosamente, cada componente BMC 14, 24 implementado sobre cada SOC 12, 22 é utilizável como interface de troca de dados, notadamente entre cada componente BMC 14, 24 de cada módulo 1, 2, 3, assim como com aplicações externas de gerenciamento de equipamentos informáticos, como qualquer interface de gerenciamento padrão. A titulo de exemplo, uma aplicação externa de gerenciamento de equipamento informático, utilizado pelo servidor 100, se apresenta sob a forma de interface gráfica proposta a um administrador, permitindo-lhe: - supervisionar os parâmetros físicos de um módulo 1, 2, 3 (por exemplo: temperaturas medidas, tensões medidas, detecção da presença/ ausência de um cabo de interconexão específico); - comunicar ao componente BMC uma ação apropriada para adotar, em caso de detecção de anomalia (por exemplo: colocação sob/ fora tensão de um módulo ou reinicialização de um módulo 1,2, 3).
[0032] Para fazer isso, a interconexão 28 de cada SOC 12, 22 permite, de um ponto de vista lógico, a interconexão de cada componente BMC 14, 24 de cada módulo 1, 2, 3. Os componentes BMC 14, 24 de cada um dos módulos 1, 2, 3 estão, portanto, aptos a trocar informações entre eles, a atualização comum de suas funções e de suas informações, permitindo apresentar o servidor 100, do ponto de vista de uma aplicação externa de gerenciamento de equipamento, como um servidor 100 módulo mono. Assim, cada componente BMC 14, 24 é programado para gerar as funções de alto nível, isto é, centrais, do servidor 100, por exemplo: - o gerenciamento da colocação sob tensão do servidor 100; - o gerenciamento de um ou vários componentes SMC 15, 25, por exemplo, a supervisão de seus estados, o recebimento de medidas ou quaisquer outros dados remontados por componentes SMC 15, 25, ou ainda a transmissão de mensagens de comando (comando) com destinações de componentes SMC 15, 25; - uma partição de sinais de relógios em função de partições existentes entre diferentes módulos 1, 2, 3. Designa-se na sequências, sob o termo partição em um sistema de múltiplos módulos, um subconjunto de módulos 1, 2, 3, capazes de funcionar independentemente dos outros módulos 1, 2, 3 desse mesmo sistema. A titulo de exemplo, uma partição é um subconjunto de módulos 1, 2, 3, executando-se um mesmo sistema operacional OS (acrônimo inglês de Operating System) ou executando um mesmo conjunto de sistema operacional OS, caso os módulos compreendam camadas de hipervisores. Vantajosamente, qualquer método de partição apto a agrupar um ou vários conjuntos de módulos 1, 2, 3, dividindo características comuns, por exemplo, executando um mesmo sistema operacional OS, pode ser utilizada; - a sincronização e a difusão, isto é, o roteamento, de sinais de sincronização via a interconexão 27 através da rede XQPI, em função de partições existentes entre diferentes módulos 1, 2,3.
[0033] Cada componente SMC 15, 25 permite um gerenciamento das funções de baixo nível, isto é, locais, do módulo 1, 2, 3 sobre os quais é implantado, e comunica ao componente BMC 14, 24 do mesmo SOC 12, 22 dados que ele supervisiona, por exemplo medidas. A título de exemplo, quando da colocação sob tensão do servidor 100, cada componente SMC 15, 25 coloca sob tensão seu próprio módulo 1, 2, 3, conforme um processo pré-configurado (por exemplo: sequência, programação de seu BCS2, controle das tensões) e reporta ao componente BMC 14, 24 do mesmo SOC 12, 22 o estado da colocação sob tensão de seu módulo 1, 2, 3. Além disso, cada componente SMC 15, 25 supervisiona o estado de seu próprio material, por exemplo, mede um número determinado de parâmetros de seu próprio módulo 1, 2, 3 (ex. temperatura, tensões) e transmite essas informações ao componente BMC 14, 24 do mesmo SOC 12, 22. O componente BMC 14, 24 está então apto a tomar uma decisão em função dos parâmetros que o componente SMC 15, 25 lhe comunica, por exemplo, reinicializar um módulo 1, 2, 3 particular, em caso de detecção de uma anomalia. Assim, os componentes materiais de cada módulo 1, 2, 3 são gerados por um componente SMC 15, 25 local ao módulo 1, 2, 3, independentemente dos outros módulos 1, 2, 3, enquanto que cada componente BMC 15, 25 pode gerar um número variável de módulos 1, 2, 3 via a interconexão 28 através do IPMB sobre LAN. Vantajosamente, essa arquitetura é muito flexível, pois independente do número de módulos 1, 2, 3.
[0034] De acordo com um concretização, a topologia física dos enlaces Ethernet e SPI é do tipo estrela. Os sinais de banda lateral do tipo relógio, CATERR ou TSC_SYNC são em topologia física em malha (dita, em inglês, all-to-all) . De acordo com diversas outras concretizações, outras topologias são consideráveis, por exemplo, topologias de redes de Cios ou núcleos multidimensionais.
[0035] Vantajosamente, a caixa de interconexão 30 é realizada em função da topologia escolhida. A título de exemplo, no caso de um servidor 100 com N módulos, para uma topologia all-to-all cada porta de interconexão de um módulo 1, 2, 3 deve suportar N-l enlaces à alta velocidade indo em direção a cada um de seus vizinhos. Se em uma configuração com oito módulos, onde N=8, cada módulo 1,2, 3 compreende sete enlaces com oito vias unidirecionais, a caixa de interconexão 30 será então realizada, de maneira a suportar 8*7*8, seja 448 vias unidirecionais à alta velocidade.
[0036] Além disso, a fim de melhorar a resiliência da caixa de interconexão 30 em caso de pane, é possível realizar o comutador dessa caixa via uma pluralidade de comutadores. Por exemplo, para um servidor 100 com oito módulos, a fim de interconectar os SOC 12, 22 dos módulos 1, 2, 3, o comutador da caixa de interconexão 30 é um comutador Ethernet com oito portas. Esse comutador pode então ser realizado via dois comutadores com cinco portas da seguinte maneira: se cada um dos comutadores compreender quatro portas de enlace descendentes de dados (ditas portas de Downlink) e uma porta de enlace ascendente de dados (dito porta de uplink), ligam-se então as portas de "uplink" via um traço de circuito impresso. Assim, os SOC 12, 22 dos módulos 1, 2, 3 só podem perder a totalidade de seus meios de diálogo em caso de pane do conjunto dos comutadores, esse risco diminuindo proporcionalmente em vista do número de comutadores empregados para a realização do comutador da caixa de interconexão 30.
[0037] Pelas mesmas razões de resiliência, o conjunto dos componentes materiais que fornecem as ligações físicas entre os módulos são componentes passivos. Vantajosamente, esses componentes passivos são escolhidos, de maneira a ter um ''tempo médio entre falhas" MTBF (acrônimo inglês de mean time between failures superior de várias ordens de grandeza ao MTBF dos módulos 1, 2, 3. Assim, o número de falhas criadas por esses componentes é desprezível quando se busca avaliar a disponibilidade do servidor 100.
[0038] Sempre visando assegurar uma boa resiliência face falhas de alimentação elétrica, cada módulo 1, 2, 3 compreende pelo menos dois blocos de alimentação PSU (acrônimo de Power Supply Unit) podendo, a titulo de exemplo, se apresentar sob a forma de conversores CA/CC (acrônimo inglês de Alternating Current / Direct Current), liberando uma potência em entrada de cada módulo 1, 2, 3, por exemplo sob 12V. Cada um dos blocos de alimentação PSU pode, por outro lado, ser dimensionado com uma redundância 2N, isto é, compreender uma duplicação de seus componentes técnicos (por exemplo: componentes eletrônicos), e podem ser conectados a duas redes de corrente alternada CA independentes, permitindo garantir o funcionamento do servidor 100, caso uma das redes seja falha. A caixa de interconexâo 30 é quanto a ela alimentada eletricamente pelos módulos 1, 2, 3, cada um enviado através dos enlaces Ethernet da interconexâo 28 uma corrente sob uma tensão predefinida, por exemplo, 12V. Essas correntes são então somadas por um dispositivo eletrônico apropriado constitutivo da caixa de interconexâo 30, por exemplo, um acionamento com diodo. No estado da técnica, o padrão PoE, acrônimo inglês de Power-over-Ethernet, descreve a alimentação elétrica de dispositivos interfaciados via uma ligação Ethernet com um comutador, graças à alimentação elétrica de comutador. Uma pane elétrica do comutador impede, portanto, qualquer alimentação dos dispositivos. Por oposição a esse padrão, a concretização descrita acima permite reduzir os impactos de uma falha de alimentação sobre o servidor 100, estas limitando-se então ao perímetro de uma falha eventual de um módulo 1, 2, 3, essa probabilidade de falha vendo-se reduzida, graças à redundância dos blocos de alimentações. Assim, o conjunto das ligações Ethernet realizadas via a interconexão 27 dos módulos 1, 2, 3 colaboram, de maneira a fornecer uma alimentação elétrica redundante ao comutador da caixa de interconexão 30, só esse comutador compreendendo componentes ativos. 0 comutador da caixa de interconexão 30 é, portanto, capaz de funcionar apesar de uma falha eventual de um ou vários módulos 1, 2, 3. Vantajosamente, a potência dissipada por esse comutador é muito baixa (da ordem de 2 a 3 Watts) e o número de componentes presentes nesse comutador permite fornecer um MTBF da ordem de vários milhões de horas. Controla-se, além disso, para configurar o conjunto dos componentes BMC 14, 24 dos SOC 12, 22 para supervisionar o funcionamento desse comutador e gerar qualquer mau funcionamento. Vantajosamente, as concretizações descritas acima permitem a qualquer módulo 1, 2, 3 resistir a uma pane do comutador da caixa de interconexão 30, e isto apesar de sua posição central. Caso uma falha seja detectada sobre o comutador, a substituição a quente desse módulo não interrompe o funcionamento do servidor 100 multimodular.
[0039] A figura 2 ilustra a interconexão de oito módulos 1, 2, 3, 4, 5, 6, 7, 8 com uma caixa de interconexão 30, conforme uma concretização, e em acordo com as características anteriormente descritas. Nessa figura, cada módulo 1, 2, 3, 4, 5, 6, 7, 8 compreende respectivamente os elementos anteriormente citados, notadamente: - um FPGA 13, 23, 33, 43, 53, 63, 73, 83 apto a gerar um sinal de relógio 130, 230, 330, 430, 530, 630, 730, 830 específico. 0 gerenciamento desses sinais é detalhado posteriormente; - um componente BMC 14, 24, 34, 44, 54, 64, 74, 84 apto a gerar funções de nível alto, tais como a instanciação, a colocação sob tensão, a reinicialização e a instanciação dos módulos 1, 2, 3, 4, 5, 6, 7, 8.
[0040] Os elementos de comunicação 16, 26, os processadores CPU 10, 11, 20, 21, os SOC 12, 22 e interconexões 27, 28 não são representados nessa figura, a fim de simplificar a leitura desta, mas permanecem, todavia, presentes. Notadamente, cada módulo 1, 2, 3, 4, 5, 6, 7, 8 é respectivamente interconectado por seu elemento de comunicação 16, 26 e seu SOC 12, 22 aos outros módulos 1, 2, 3, 4, 5, 6, 7, 8, respectivamente via as interconexões 27, 28 e por intermédio da caixa de interconexão 30.
[0041] Em uma concretização, a conexão de cada módulo 1, 2, 3, 4, 5, 6, 7, 8 à caixa de interconexão 30 é realizada no nível deste respectivamente via um barramento de dados síncrono SPI 131, 231, 331, 43'1, 531, 631, 731, 831 acrônimo inglês de Serial Peripheral Interface. As trocas de dados entre cada módulo 1, 2, 3, 4, 5, 6, 7, 8 e a caixa de interconexão 30 via os barramentos de dados síncronos SPI 131, 231, 331, 431, 531, 631, 731, 831 estão representadas nessa figura por duplas setas entre esses elementos. Além disso, cada um dos barramentos de dados síncrono SPI 131, 231, 331, 431, 531, 631, 731, 831 é respectivamente interfaciado com um registro 132, 232, 332, 432,532, 632, 732, 832 de um dispositivo anexo da caixa de interconexão 30, no caso um FPGA. Vantajosamente, o FPGA da caixa de interconexão 30 vai permitir alocar em cada SOC 12, 22 de cada módulo 1, 2, 3, 4, 5, 6, 7, 8 um identificador quando de uma fase de inicialização. As trocas de informações entre os barramentos de dados síncronos SPI 131, 231, 431, 531, 631, 731, 831 e os registros 132, 232, 332, 432, 532, 632, 732, 832 são, no caso, simbolizados por duplas setas entre esses elementos. Uma fase de inicialização dos módulos 1, 2, 3, 4, 5, 6, 7, 8 pode, a titulo de exemplo, sobrevir quando de uma colocação sob tensão, de uma reinicialização do servidor 100 ou ainda quando da inicialização de um SOC 12, 22, por um componente BMC 14, 24, 34, 44, 54, 64, 74, 84.
[0042] Conforme explicado anteriormente, uma interconexão 28 de cada SOC 12, 22 de cada módulo 1, 2, 3, 4, 5, 6, 7, 8 é realizada via a caixa de comunicação 30 através de uma rede privada em protocolo Ethernet, encapsulando um protocolo de comunicação em acordo com o padrão IPMB. Cada SOC 12, 22 deve, portanto, quando de uma fase de inicialização, poder acionar sua conexão IP (acrônimo inglês de Internet Protocol) via um endereço diferente daquele de seus vizinhos. Para fazer isto, segundo diversas concretizações, cada FPGA 13, 23, 33, 43, 53, 63, 73, 83 envia por intermédio do SOC 12, 22 com o qual ele é interfaciado, via a interconexão 28, uma busca de identificador na caixa de interconexão 30. Cada busca é recebida pela caixa de comunicação 30, no nível do barramento de dados sincrono SPI 131, 231, 331, 431, 531, 631, 731, 831, este transmitindo cada busca no registro 132, 232, 332, 432, 531, 632, 732, 832 do FPGA com a qual ele é interfaciado. Vantajosamente, cada busca permite a obtenção de um identificador ID único e conhecido somente do registro 132, 232, 332, 432, 532, 632, 732, 832 do FPGA. Esse identificador ID é liberado por meio dos sinais de barramento SPI que são fisicamente independentes dos sinais Ethernet (naturalmente, os sinais de banda lateral não fazendo parte integrante da interface XQPI).
[0043] Em uma concretização, cada identificador ID se reporta a um número de portas, codificado, por exemplo, sobre três bits, esse identificador ID sendo especifico a cada local de conexão fisica ao módulo de interconexão 30. Vantajosamente, esse identificador ID é único e permite, portanto, identificar na sequência um módulo 1, 2, 3, 4, 5, 6, 7, 8 especifico. A caixa de comunicação 30 se comunica então graças ao seu FPGA, um identificador ID em resposta a cada busca recepcionada, essa resposta sendo transmitida por intermédio do barramento de dados sincrono SPI 131, 231, 331, 431, 531, 631, 731, 831, depois pelo SOC 12, 2 ao FPGA 13, 23, 3, 43, 53, 63, 73, 83 do módulo 1, 2, 3, 4, 5, 6, 7, 8 que emitiu a busca. O identificador recepcionado pelo FPGA 13, 23, 33, 43,53, 63, 73, 83 é, em seguida, lido pelo componente BMC 14, 24, 34, 44, 54, 64, 74, 84 do SOC 12, 22 com o qual é interfaciado visando determinar uma instanciação apropriada, por exemplo, a atribuição de um endereço IP no módulo 1, 2, 3, 4, 5, 6, 7, 8. A leitura do identificador ID por cada componente BMC 14, 24, 34, 44, 54, 64, 74, 84 em cada FPGA 13, 23, 33, 43, 53, 63, 73, 83 é simbolizada nessa figura por uma seta unilateral entre esses elementos. Em uma concretização, cada componente BMC 14, 24, 34, 44 , 54, 64, 74, 84 aplica nesse identificador ID um algoritmo de cálculo de endereço IP de seu módulo 1, 2, 3, 4, 5, 6, 7, 8. Por outro lado, cada FPGA 13, 23, 33,43, 53, 63, 73, 83 é capaz de ler, por intermédio do barramento de dados sincrono SPI 131, 231, 331, 431, 531, 631, 731, 831, o número de módulos 1, 2, 3, 4, 5, 6, 7, 8 conectados à caixa de interconexão. Assim, o componente BMC 14, 24, 34, 44, 54, 64, 74, 84 de cada módulo 1, 2, 3, 4, 5, 6, 7, 8 está também apto a deduzir o endereço IP dos módulos 1, 2, 3, 4, 5, 6, 7, 8 vizinhos via aplicação do mesmo algoritmo de cálculo de endereço IP. 0 conjunto dos endereços IP determinados podem, em seguida, a titulo de exemplo, ser memorizados pelo FPGA 13, 23, 33, 43, 53, 63, 73, 83.
[0044] Em outra concretização, os endereços IP de cada módulo 1, 2, 3, 4, 5, 6, 7, 8 são endereços do tipo IPv4, formados por 32 bits. Supõe-se, além disso, que cada endereço IP comporte vinte e nove bits mais significativos comuns, essa configuração sendo aplicável na rede Ethernet privada, tal como aquela da interconexão 28. Após recuperação de cada identificador ID para cada um dos FPGAs 13, 23, 33, 43, 53, 63, 73, 83, cada componente BMC 14, 24, 34, 44, 54, 64, 74, 84 completa então esse endereço IP completando os três bits menos significativos restantes pelos três bits do identificador ID que ele terá lido no nivel de seu FPGA 13, 23, 33, 43, 53, 63, 73, 83. Assim, cada componente BMC 14, 24, 34,44, 54, 64, 74, 84 pode ser visto como uma interface de configuração ou reconfiguração dinâmica (isto é, de autoconfiguração) dos módulos 1, 2, 3, 4, 5, 6, 7, 8 permitindo notadamente sua instanciação, isto é, a atribuição de um endereço IP ou mais geralmente de um identificador a cada um desses módulos 1, 2, 3, 4, 5, 6, 7, 8.
[0045] Cada módulo 1, 2, 3, 4, 5, 6, 7, 8 compreende, além disso, um gerador de relógio, apto a gerar um sinal de relógio 130, 230, 330, 430, 530, 630, 730, 830 que lhe é próprio. Esse relógio é, a titulo de exemplo, realizado sob a forma de um sinal quadrado, cuja frequência é da ordem de MHz, por exemplo, 14.7 MHz, 25 MHz ou 100 MHz. Vantajosamente, um sinal de relógio 130, 230, 330, 430, 530, 630, 730, 830 em um módulo 1, 2, 3, 4, 5, 6, 7, 8 permite a sincronização do conjunto dos processadores CPU 10, 11, 20, 21 desse módulo 1, 2, 3, 4, 5, 6, 7, 8. A distribuição de cada sinal de relógio 130, 230, 330, 430, 530, 630, 730, 830 para os processadores CPU 10, 11, 20, 21 de cada módulo 1, 2, 3, 4, 5, 6, 7, 8 é, no caso, representada pelas setas unidirecionais à esquerda dos elementos 130, 230, 330, 430, 530, 630, 730, 830.
[0046] De acordo com diversas concretizações, cada sinal de relógio 139, 230, 330, 430, 530, 630, 730, 830 pode ser transmitido pela interconexão 27 via a rede XQPI. Vantajosamente, cada sinal de relógio 130, 230, 330, 430, 530, 630, 730, 830 pode ser filtrado à entrada de cada módulo 1, 2, 3, 4, 5, 6, 7, 8 por um circuito eletrônico de tipo circuito de controlada PLL, acrônimo inglês de Phase-Locked Loop, apto a eliminar qualquer ruído de fase introduzido pelas ligações físicas da interconexão 27.
[0047] Os sinais de relógio 130, 230, 330, 430, 530, 630, 730, 830 podendo ser sinais intermodulados, isto é, transitando entre diferentes módulos 1, 2, 3, 4, 5, 6, 7, 8 uma sincronização desses sinais se mostra, além disso, necessária.
[0048] Para fazer isso, conforme diversas concretizações, cada FPGA 13, 23, 33, 43. 53, 63, 73, 83 de cada módulo 1, 2, 3, 4, 5, 6, 7, 8 está apto, quando de uma etapa de partição, a agrupar o conjunto dos módulos 1, 2, 3, 4, 5, 6, 7, 8, em função de características comuns, por exemplo, em função de um mesmo sistema operacional OS suportado pelos módulos 1, 2, 3, 4, 5, 6, 7, 8, formando assim partições. Cada módulo 1, 2, 3, 4, 5, 6, 7, 8 pertence, portanto, a um conjunto ou uma partição (isto é um subconjunto) de módulos 1, 2, 3, 4, 5, 6, 7, 8 constitutivo do servidor 100. A titulo de exemplo, na figura 2, duas partições 40, 50 são realizadas: a primeira partição 40 é formada pelos módulos 1, 2, 3, 4, 5, 6 e a segunda partição 50 é formada pelos módulos 7, 8.
[0049] Cada componente BMC 14, 24, 34, 44, 54, 64, 74, 84 compara então no conjunto ou no subconjunto (isto é, a partição) ao qual ele pertence, o número de seu próprio módulo 1, 2, 3, 4, 5, 6, 7, 8 com os números dos módulos 1, 2, 3, 4, 5, 6, 7, 8 do mesmo conjunto ou subconjunto. Conforme exposto anteriormente, o número de um módulo 1, 2, 3, 4, 5, 6, 7, 8 e de seus módulos 1, 2, 3, 4, 5, 6, 7, 8 vizinhos é identificado, quando de uma etapa de instalação dinâmica efetuada por seu componente BMC 14, 24, 34, 44, 54, 64, 74, 84.
[0050] Baseado no resultado dessas comparações, cada BMC 14, 24, 34, 44, 54, 64, 74, 84 está apto a identificar se o módulo 1, 2, 3, 4, 5, 6, 7, 8 ao qual ele pertence é um módulo mestre ou escravo no conjunto ou no subconjunto de módulos 1, 2, 3, 4, 5, 6, 7, 8. Em uma concretização, o módulo 1, 2, 3, 4, 5, 6, 7, 8 de menor número/ identificador ID é identificado por seu BMC 14, 24, 34, 44, 54, 64, 74, 84 como o módulo mestre, enquanto que os módulos restantes são identificados como módulos escravos. Todavia, qualquer outro tipo de identificação pode ser realizado, por exemplo, o módulo mestre pode ser identificado como sendo o módulo de maior número/ identificador ID, ou ainda identificado em função de seu endereço. Mais geralmente, os módulos mestres e escravos são identificados em um mesmo conjunto ou subconjunto de módulo 1, 2, 3, 4, 5, 6, 7, 8, obtidos quando de sua instanciação dinâmica.
[0051] Por preocupação com a simplificação, considera-se na sequência o exemplo no qual o módulo 1, 2, 3, 4, 5, 6, 7, 8 de menor número em um conjunto ou um subconjunto é identificado por cada componente BMC 14, 24, 34, 44, 54, 64, 74, 84 como o módulo mestre, enquanto que os módulos restantes são identificados como módulos escravos.
[0052] De acordo com diversas concretizações, caso o componente BMC 14, 24, 34, 44, 54, 64, 74, 84 identifique seu módulo 1, 2, 3, 4, 5, 6, 7, 8, como sendo um módulo: - mestre, o componente BMC 14, 24, 34, 44, 54, 64, 74, 84 configura seu FPGA 13, 23, 33, 43, 53, 63, 73, 83, de maneira que este distribua seu sinal de relógio 130, 230, 330, 430, 530, 630, 730, 830, aos outros módulos 1, 2, 3, 4, 5, 6, 7, 8 do mesmo conjunto ou subconjunto; - escravo, o componente BMC 14, 24, 34, 44, 54, 64, 74, 84 configura seu FPGA 13, 23, 33, 43, 53, 63, 73, 83, de maneira que este desative o sinal de relógio 130, 230, 330, 430, 530, 630, 730, 830, local nesse módulo 1, 2, 3, 4, 5, 6, 7, 8.
[0053] A título de exemplo, em um mesmo conjunto de oito módulos 1, 2, 3, 4, 5, 6, 7, 8 não particionado, o módulo 1 é identificado como módulo mestre e os módulos 2, 3, 4, 5, 6, 7, 8 como módulos escravos. O módulo 1 distribui então seu sinal de relógio 130 aos módulos 2, 3, 4, 5, 6, 7, 8, estes tendo seu sinal de relógio 230, 330, 430, 530, 630, 730, 830 desativado por seu FPGA. A distribuição do sinal de relógio 130 e a desativação local dos sinais de relógio 230, 330, 430, 530, 630, 730, 830 são, no caso, realizados respectivamente pelo FPGA 13 e pelos FPGAs 23, 33, 43, 53, 63, 73, 83 estes sendo respectivamente configurados pelo componente BMC 14 e pelos componentes BMC 24, 34, 44, 54, 64, 74, 84. O relógio é transmitido por um sinal de banda lateral e faz, portanto, parte da interconexão 28 (isto é, a interface inter FPGA).
[0054] Em outro exemplo, ilustrado na figura 2: - o módulo 1 é identificado como o módulo mestre na primeira partição 40, os módulos 2, 3, 4, 5, 6 sendo identificados como módulos escravos nessa partição. O módulo 1 distribui então, por intermédio de seu FPGA 13 (setas unidirecionais oriundas desse elemento), seu sinal de relógio 130 aos módulos 2, 3, 4, 5, 6, estes tendo desativados localmente via seu FPGA 23, 33, 43, 53, 63 seu sinal de relógio 130, 230, 330, 430, 530, 630 (setas unidirecionais no sentido FPGA em direção ao sinal de relógio). Vantajosamente, a configuração do FPGA 13 e dos FPGAs 23, 33, 43, 53, 63 é realizada respectivamente pelo componente BMC 14 e pelos componentes BMC 24, 34, 44, 54, 64 (setas unidirecionais no sentido sinal de relógio para FPGA); - o módulo 7 é identificado como o módulo mestre na segunda partição 50, o módulo 8 sendo identificado como um módulo escravo nessa partição. O módulo 7 distribui então, por intermédio de seu FPGA 73 (seta unidirecional oriunda desse elemento), seu sinal de relógio 730 no módulo 8, este tendo desativado localmente seu sinal de relógio 830 via seu FPGA 63 (seta unidirecional no sentido FPGA em direção ao sinal de relógio). Vantajosamente, a configuração do FPGA 73 e da FPGA 83 é realizada respectivamente pelo componente BMC 7 4 e pelo componente BMC 84 (seta unidirecional no sentido sinal de relógio para FPGA).
[0055] Cada processador CPU 10, 11, 20, 21 de cada módulo 1, 2, 3, 4, 5r 6, 7, 8 é, portanto, comandado por um sinal de relógio 130, 230, 330, 430, 530, 630, 730, 830 comum à partição ou o conjunto de módulos 1, 2, 3, 4, 5, 6, 7, 8 ao qual ele pertence. Vantajosamente, cada processador CPU 10, 11, 20, 21 compreende uma pluralidade de registros, cada registro reportando-se a um processo leve (thread, em inglês) executado pelo processador 10, 11, 20, 21. Esses registros são comumente designados pela denominação medidores de data e hora TSC (acrônimo inglês Time Stamp Counter) e servem para sincronizar tarefas multi-threads, isto é, comportando uma pluralidade de processos leves. Os medidores de data e hora TSC são inicializados para cada processador CPU 10, 11, 20, 21, após uma etapa de inicialização / reinicialização (resefc, em inglês) podendo, por exemplo, sobrevir quando da colocação sob tensão/ da reinicialização de um módulo 1, 2, 3, 4, 5, 6, 7, 8. Para uma boa execução das tarefas multi-threads, os medidores de data e hora TSC devem, portanto, ser sincronizados. Vantajosamente, a sincronização dos medidores de data e hora TSC é feita via os sinais de relógios, 130, 230, 330, 430, 530, 630, 730, 830, na entrada dos processadores CPU 10, 11, 20, 21. Essa sincronização é complexa de assegurar, particularmente para módulos 1, 2, 3, 4, 5, 6, 7, 8 interconectados compreendendo, cada um, uma pluralidade de processadores 10, 11, 20, 21, pois cada processador CPU 10, 11, 20, 21 pode comportar inicialmente e de maneira local seu próprio sinal de relógio 130, 230, 330, 430, 530, 630, 730, 830. Os medidores de data e hora TSC entre cada módulo 1, 2, 3, 4, 5, 6, 7, 8 são, portanto, potencialmente incoerentes de um ponto de vista temporal e podem, por outro lado, desviar.
[0056] Assim, segundo diversas concretizações, após uma etapa de partição eventual dos módulos 1, 2, 3, 4, 5, 6, 7, 8, a sincronização dos medidores de data e hora TSC dos processadores CPU 10, 11, 20, 21 é efetuada da seguinte maneira: - cada componente BMC 14, 24, 34, 44, 54, 64, 74, 84 de cada módulo mestre de um conjunto ou subconjunto de módulos 1, 2, 3, 4, 5, 6, 7, 8 efetua uma configuração do FPGA 13, 23, 33, 43, 53, 63, 73, 83 do módulo mestre, de maneira que o roteamento de qualquer sinal de sincronização, seja circunscrito aos módulos escravos do mesmo conjunto ou subconjunto; ~ cada componente BMC 14, 24, 34, 44, 54, 64, 74, 84 de cada módulo escravo envia, via a interconexão 28 através da rede IPMB sobre LAN, uma mensagem de notificação ao componente BMC 14, 24, 34, 44, 54, 64, 74, 84 do módulo mestre, quando o módulo escravo sai de uma fase de inicialização ou de reinicialização (correspondente a uma inicialização dos medidores de data e hora TSC). 0 componente BMC 14, 24, 34, 44, 54, 64, 74, 84 do módulo mestre pode, por outro lado, ser informado via uma notificação da inicialização ou da reinicialização de seu próprio módulo 1, 2, 3, 4, 5, 6, 7, 8; - o componente BMC 14, 24, 34, 44, 54, 64, 74, 84 do módulo mestre espera que todos os módulos 1, 2, 3, 4, 5, 6, 7, 8 ai compreendido ele próprio, tenham saído da fase de inicialização ou de reinicialização; - quando as notificações do conjunto dos módulos 1, 2, 3, 4, 5, 6, 7, 8 foram recebidos, o BMC 14, 24, 34, 44, 54, 64, 74, 84 do módulo mestre aciona uma reinicialização do conjunto dos medidores de data e hora TSC dos processadores CPU 10, 11, 20, 21 para todos os módulos 1, 2, 3, 4, 5, 6, 7, 8 do mesmo conjunto ou subconjunto ao qual ele pertence, aí compreendido para seu módulo. Vantajosamente, essa reinicialização é realizada pelo envio de um sinal de sincronização sobre um pino físico de conexão (pin, em inglês) que possui cada processador CPU 10, 11, 20, 21 de cada módulo 1, 2, 3, 4, 5, 6, 7, 8. 0 envio desse sinal de sincronização provoca, portanto, uma reinicialização síncrona do conjunto dos medidores de data e hora TSC dos processadores CPU 10, 11, 20, 21 e, portanto, sua coerência temporal, pois cada processador CPU 10, 11, 20, 21 aciona então medidores TSC comandados por um mesmo relógio no conjunto ou no subconjunto de módulos 1, 2, 3, 4, 5, 6, 7, 8.
[0057] Por outro lado, conforme exposto, quando da descrição da figura 1, cada FPGA 13, 23, 33, 43, 53, 63, 73, 83 de cada módulo 1, 2, 3, 4, 5, 6, 7, 8 compreende uma ligação de dados com cada um dos processadores CPU 10, 11, 20, 21, assim como com um elemento de comunicação 16, 26, tal como um BCS2. Quando um primeiro erro de tipo não corrigido, fatal ou catastrófico ocorre no nível de um processador CPU 10, 11, 20, 21 ou de um elemento de comunicação 16, 26 de um módulo 1, 2, 3, 4, 5, 6, 7, 8, este pode se propagar à velocidade muito grande, geralmente em alguns microssegundos, via a interconexão 27 através da rede XQPI, nos outros módulos 1, 2, 3, 4, 5, 6, 7, 8 do mesmo conjunto ou subconjunto, gerando erros no nível de seus processadores CPU 10, 11, 20, 21 e de seus elementos de comunicação 16, 26. É preciso, portanto, em um contexto multimodular, estar então em condições de encontrar o primeiro erro, visando diagnosticar a falha. Mais geralmente, é preciso também estar em condições de identificar (por exemplo: localizar, datar), de maneira precisa, qualquer ocorrência de erro em um módulo 1, 2, 3, 4, 5, 6, 7, 8.
[0058] Assim, conforme diversas concretizações, utilizam-se também para cada FPGA 13, 23, 33, 43, 53, 63, 73, 83 um medidor de data e hora TSC, realizado por um registro de tamanho configurável, por exemplo, de quarenta bits, e sincronizado via o sinal de relógio 130, 230, 330, 430, 530, 630, 730, 830, do módulo mestre do conjunto ou subconjunto de módulos 1, 2, 3, 4, 5, 6, 7, 8 ao qual pertence o FPGA 13, 23, 33, 43, 53, 63, 73, 83, por exemplo a uma frequência de 25 MHz. Cada um dos FPGAs 13, 23, 33, 43, 53, 63, 73, 83 possui, portanto, um medidor de data e hora TSC parcialmente sincronizado com aqueles dos FPGAs 13, 23, 33, 43, 53, 63, 73, 83 do mesmo conjunto ou subconjunto de módulos 1, 2, 3, 4, 5, 6, 7, 8. Vantajosamente, graças a essa referência de tempo sincrono, cada FPGA 13, 23, 33, 43, 53, 63, 73, 83 é capaz de datar (timestamp) e registrar uma relação referente a um erro ou um acontecimento qualquer que ocorre em seu módulo 1, 2, 3, 4, 5, 6, 7, 8. Será, portanto, possível a qualquer momento reconstituir a cronologia de vários erros ou acontecimentos sem ambiguidade sobre sua ordem respectiva. Para fazer isso, a sequência à data e hora pelos FPGAs 13, 23, 33, 43, 53, 63, 73, 83 de acontecimentos, por exemplo, de erros propagados em cada módulo 1, 2, 3, 4, 5, 6, 7, 8, o conjunto dos componentes BMC 13, 23, 33, 43, 53, 63, 73, 83 estão aptos a trocar e dividir informações relativas a esses acontecimentos, permitindo notadamente encontrar a fonte desses erros, isto é, o primeiro erro. A localização e o diagnóstico preciso de um módulo 1, 2, 3, 4, 5, 6, 7, 8 que falha se vêem, portanto, facilitados.
[0059] De acordo com diversas concrteizações, após uma etapa de partição eventual dos módulos 1, 2, 3, 4, 5, 6, 7, 8 a sincronização dos medidores de data e hora TSC dos FPGA 13, 23, 33, 43, 53, 63, 73, 83, assim como a detecção de um primeiro erro é feita da seguinte maneira: - cada componente BMC 14, 24, 34, 44, 54, 64, 74, 84 de cada módulo mestre de um conjunto ou subconjunto de módulos 1, 2, 3, 4, 5, 6, 7, 8 efetua uma configuração do FPGA 13, 23, 33, 43, 53, 63, 73, 83 do módulo mestre, de maneira que o roteamento de qualquer sinal de sincronização seja circunscrito aos módulos escravos do mesmo conjunto ou ao subconjunto; - cada componente BMC 14, 24, 34, 44, 54, 64, 74, 84 de cada módulo escravo envia, via a interconexão 28 através da rede IPMB sobre LAN, uma mensagem de notificação ao componente BMC 14, 24, 34, 44, 54, 64, 74, 84 do módulo mestre, quando o módulo escravo sai de uma fase de inicialização ou de reinicialização (correspondente a uma inicialização dos medidores de data e hora TSC). 0 componente BMC 14, 24, 34, 44, 54, 64, 74, 84 do módulo mestre pode, por outro lado, ser informado via uma notificação de inicialização ou da reinicialização de seu próprio módulo 1, 2, 3, 4, 5, 6, 7, 8; - o componente BMC 14, 24, 34, 44, 54, 64, 74, 84 do módulo mestre espera que todos os módulos 1, 2, 3, 4, 5, 6, 7, 8, ai compreendido ele próprio, saiam da fase de inicialização ou de reinicialização; - quando as notificações do conjunto dos módulos 1, 2, 3, 4, 5, 6, 7, 8 tiverem sido recebidas, o BMC 14, 24, 34, 44, 54, 64, 74, 84 do módulo mestre acionará uma reinicialização do conjunto do medidor de data e hora TSC dos FPGA 13, 23, 33, 43, 53, 63, 73, 83 de todos os módulos 1, 2, 3, 4, 5, 6, 7, 8 do mesmo conjunto ou subconjunto ao qual ele pertence, ai compreendido por ele próprio. Os medidores de data e hora dos diferentes FPGA 13, 23, 33, 43, 53, 63, 73, 83 são então perfeitamente sincronizados; a cada ocorrência de um erro (ou de um acontecimento) que sobrevenha no módulo 1, 2, 3, 4, 5, 6, 7, 8, por exemplo, no nível de um processador CPU 10, 11, 20, 21 ou de um elementos de comunicação 16, 26 (por exemplo: um BCS2) , a FPGA 13, 23, 33, 43, 53, 63, 73, 83 desse módulo 1, 2, 3, 4, 5, 6, 7, 8 memoriza via seu medidor de data e hora TSC informações relativas ao erro. As informações relativas ao erro compreendem a titulo de exemplos, seu tipo (por exemplo: não corrigida, fatal), sua fonte (por exemplo: número de módulo, tipo de componente referido: CPU ou BCS), assim como sua data e hora; - cada componente BMC 14, 24, 34, 44, 54, 64, 74, 84 de cada módulo 1, 2, 3, 4, 5, 6, 7, 8 acede então às informações memorizadas pelo medidor de data e hora TSC no FPGA 1, 2, 3, 4, 5, 6, 7, 8 e torna, de maneira apropriada, essas informações acessíveis a qualquer administrador do servidor 100 ou ferramenta externa que permita o gerenciamento do servidor 100. A titulo de exemplo, cada componente BMC 14, 24, 34, 44, 54, 64, 74, 84 comunica as informações lidas no FPGA 1, 2, 3, 4, 5, 6, 7, 8 via um arquivo de log acessível, a partir de uma aplicação externa de gerenciamento de equipamentos; - uma etapa de comparação entre as informações, por exemplo, entre a data e hora, a fonte, o tipo de cada erro, comunicadas por cada componente BMC 14, 24, 34, 44, 54, 64, 74, 84 permite então identificar um primeiro erro dentre um conjunto de erros sobrevindo em diferentes módulos 1, 2, 3, 4, 5, 6, 7, 8, assim como a cronologia dos erros seguintes. Essa etapa de comparação pode, por exemplo, ser automatizada ou efetuada diretamente pelo administrador do servidor 100. Vantajosamente, a identificação, por exemplo, a determinação da cronologia e a localização, do primeiro erro permite, por conseguinte, decidir eventualmente se uma ou várias ações a efetuar sobre o servidor 100, por exemplo, reinicialização de um módulo 1, 2, 3, 4, 5, 6, 7, 8 especifico, ou reconfigurar uma partição, caso um módulo 1, 2, 3, 4, 5, 6, 7, 8 neste for falho.
[0060] Vantajosamente, as concretizações anteriormente descritas permitem a compatibilidade de programa com interfaces de gerenciamento padrão, por exemplo, interfaces em acordo com o padrão IPMI e isto independentemente do número de módulos 1, 2, 3, 4, 5, 6, 7, 8 constitutivos do servidor 100. Isto é notadamente tornado possível, graças: - aos componentes BMC 14, 24, 34, 44, 54, 64, 74, 84, cada um sendo utilizável como uma interface de comunicação de dados, permitindo notadamente a sincronização dos relógios, dos medidores de data e hora TSC, assim como o gerenciamento das funções de nível alto, isto é, as funções centrais, diferentes módulos 1, 2, 3, 4, 5, 6, 7, 8; - aos componentes SMC 15, 25 em cargas de gerar as funções de nível baixo, isto é, locais de seus próprios módulos 1, 2, 3, 4, 5, 6, 7, 8, por exemplo, a medida de seus parâmetros físicos e sua colocação sob tensão.
[0061] Obtém-se, portanto, uma grande flexibilidade em termos de arquitetura material e de programa, facilitando assim qualquer necessidade eventual futura de modificação, de adaptação ou de evolução do servidor 100.
[0062] Vantajosamente, as concretizações anteriormente descritas permitem o gerenciamento de um conjunto ou um subconjunto de módulos 1, 2, 3, 4, 5, 6, 7, 8, graças a uma partição destes, assim como seus sinais de relógio 230, 330, 430, 530, 630, 730, 830 respectivos. 0 gerenciamento de um conjunto ou um subconjunto de módulos 1, 2, 3, 4, 5, 6, 7, 8 é particularmente vantajoso, pois este permite o suporte de OS diferentes segundo os módulo 1, 2, 3, 4, 5, 6, 7, 8, a identificação, a ordenação e a localização precisa de qualquer erro eventual para fins de diagnóstico, assim como uma reconfiguração dinâmica eventual das partições, notadamente em caso de falha de um módulo 1, 2, 3, 4, 5, 6, 7, 8.
[0063] Outra vantagem das concretizações propostas reside na realização material do servidor 100, e, notadamente, a maneira pela qual a caixa de interconexão 30 e os módulos 1, 2, 3, 4, 5, 6, 7, 8 são interconectados e alimentados eletricamente, 'permite a manutenção a quente de cada elemento do servidor 100, assim como uma melhoria de sua resiliência.
[0064] Além disso, as concretizações anteriormente descritas para um servidor 100 são também transponiveis a qualquer equipamento ou infraestrutura informática, compreendendo uma pluralidade de módulos 1, 2, 3, por exemplo, uma supercalculadora.
REIVINDICAÇÕES

Claims (10)

1. Servidor (100) compreendendo uma pli módulos (1-8), cada módulo (1-8) compreendendo: - um elemento de comunicação (16, 26) apto a coerência de uma memória compartilhada entrs (1-8); - uma pluralidade de processadores CPU ( 21) conectados entre si e conectados ao comunicação; - um sistema sobre um chip SOC (12, 22) pluralidade de processadores CPU (10, 11, 2( elemento de comunicação (16, 26), o sistema st SOC (12, 22) executando um microprograma; - uma rede de portas programáveis (FPGA) 43, 53, 63, 73, 83) conectada ao sistema sobre (12, 22), ao elemento de comunicação (16 pluralidade de processadores CPU (10, 11, 20, 2 os módulos (1-8) sendo interconectados por o microprograma executado sobre cada sist chip SOC (12, 22) de cada módulo {1-8) rea^ componentes de programas, a saber: um componente controlador via s gerenciamento do sistema (SMC) (15, 25) apto parâmetros físicos de seu módulo (1-8) e gera locais desse módulo (1-8); - um componente controlador de gerenciame base (BMC) {14, 24, 34, 44, 54, 64, 74, supervisionar o conjunto dos SMC (15, 25) ■ módulos (1-8), gerar de maneira central o c funções do
2. servidor (100) e trocar dados com componentes BMC (14, 24, 34, 44, 54, 64, 74 interconexão (28) entre cada sistema sobre um c 22) .
3, Servidor (100), de acordo com a reiv, caracterizado pelo fato de que a interconex elementos de comunicação (16, 26) e a intercone (1-8) compreendendo pelo menos dois blocos de alimentação PSU dimensionados com uma redundância 2N.
4. Servidor (100), de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de uma das funções geradas por cada componente BMC (14, 24, 34, 44, 54, 64, 74, 84) é uma função que permite a instanciação dos módulos (1-8), essa função sendo realizada da seguinte maneira: - o envio de uma busca de identificador ID pelo FPGA (13, 23, 33, 43, 53, 63, 73, 83) de cada módulo (1-8) à caixa de interconexão (30) por intermédio do sistema sobre um chip SOC (12, 22); - o envio pelo FPGA da caixa de interconexão (30) de um identificador ID único ao FPGA (13, 23, 33, 43, 53, 63, 73, 83) em resposta à busca de identificador; - a determinação pelo componente BMC (14, 24, 34, 44, 54, 64, 74, 84) do endereço de seu módulo (1-8) e endereços dos módulos (1-8) ao qual ele é interconectado, a determinação desses endereços sendo realizada em função do identificador ID recepcionado pelo FPGA (13, 23, 33, 43, 53, 63, 73, 83).
5. Servidor (100), de acordo com a reivindicação 4, caracterizado pelo fato de que o identificador ID enviado pelo FPGA da caixa de interconexão (30) é determinado em função de cada local de conexão física de módulos (1-8) ao módulo de interconexão (30)*
6. Servidor (100), de acordo com qualq reivindicações 1 a 5, caracterizado pelo fato um dos módulos (1-8) compreende: - um gerador de sinal de relógio (130, 23 530, 630, 730, 830), apto a sincronizar os p CPU (10, 11, 20, 21) de seu módulo (1-8); - seu FPGA (13, 23, 33, 43, 53, 63, 73, 82 para particionar e agrupar em subconjuntos os rr em função de características comuns.
7, Servidor (100), de acordo com a reiv caracterizado pelo fato de que cada componente 34, 44, 54, 64, 74, 84) é programado para: identificar em um conjunto ou um sui módulos (1-8) sua pertença a um módulo mestre era função de informações de identificação de módulos (1-8) desse conjunto ou subconjunto; - se ele pertencer a um módulo escravo, configurar seu FPGA (13, 23, 33, 43, 53, 63, 73, 83), de maneira que o FPGA desative o sinal de relógio (130, 230, 330, 430, 530, 630, 730, 830) do módulo escravo.
8. Servidor (100), de acordo com a reivindicação 7, caracterizado pelo fato de que cada processador CPU (10, 11, 20, 21) de cada módulo (1-8) compreende medidores de data e hora TSC, aptos a sincronizar tarefas que comportam uma pluralidade de processos leves, a sincronização da CPU (10, 11, 20, 21) em um conjunto ou um subconjunto de módulo (1-8) sendo realizada: - pelo envio por cada componente BMC (14, 24, 34, 44, 54, 64, 74, 84) de cada módulo escravo desse conjunto ou subconjunto, de uma notificação ao BMC (14, 24, 34, 44, 54, 64, 74, 84) do módulo mestre, quando o módulo escravo sai de uma fase de inicialização ou de reinicialização; - por uma notificação ao BMC (14, 24, 34, 44, 54, 64, 74, 84) do módulo mestre, quando o módulo mestre sai de uma fase de inicialização ou de reinicialização; - pelo envio pelo BMC (14, 24, 34, 44, 54, 64, 74, 84) do módulo mestre, quando todos os módulos mestre e escravos saíram de uma fase de inicialização ou de reinicialização, de um sinal de sincronização apto a reinicializar o conjunto dos medidores de data e hora TSC dos processadores CPU (10, 11, 20, 21) para todos os módulos (1-8) do mesmo conjunto ou subconjunto.
9. Servidor (100), de acordo com a reivindicação 7 ou 8, caracterizado pelo fato de que cada FPGA (13, 23, 33, 43, 53, 63, 73, 83) de cada módulo (1-8) compreende medidores de data e hora TSC, aptos, quando de qualquer ocorrência de erro em seu módulo (1-8) a registrar informações relativas ao erro compreendendo pelo menos a data e hora do erro, a sincronização do conjunto dos medidores de data e hora TSC de cada FPGA (13, 23, 33, 43, 53, 63, 73, 83) em um conjunto ou um subconjunto de módulo (1-8) sendo realizada: - pelo envio por cada componente BMC (14, 24, 34, 44, 54, 64, 74, 84) de cada módulo escravo desse conjunto ou subconjunto, de uma notificação ao BMG (14, 24, 34, 44, 54, 64, 74, 84) do módulo mestre, quando o módulo escravo sai de uma fase de inicialização ou de reinicialização; - por uma notificação ao BMC (14, 24, 34, 44, 54, 64, 74, 84) do módulo mestre, quando o módulo mestre sai de uma fase de inicialização ou de reinicialização; - pelo envio pelo BMC (14, 24, 34, 44, 54, 64, 74, 84) do módulo mestre, quando todos os módulos mestre e escravos sairam de uma fase de inicialização ou de reinicialização, de um sinal de sincronização apto a reinicializar o conjunto dos medidores de data e hora TSC dos FPGA (13, 23, 33, 43, 53, 63, 73, 83) para todos os módulos (1-8) do mesmo conjunto ou subconjunto.
10. Servidor (100) de acordo com a reivindicação 9, caracterizado pelo fato de que a identificação de um erro em um conjunto ou um subconjunto de módulos (1-8) é realizada por uma etapa de comparação entre as informações de erros registradas pelo conjunto dos medidores de data e hora TSC dos FPGA (13, 23, 33, 43, 53, 63, 73, 83) desse conjunto ou subconjunto, os BMC (14, 24, 34, 44, 54, 64, 74, 84) estando aptos a trocar e dividir as informações de erros no mesmo conjunto ou subconjunto de módulos (1-8).
BR102015020326A 2014-08-26 2015-08-24 servidor compreendendo uma pluralidade de módulos BR102015020326A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1401900A FR3025333B1 (fr) 2014-08-26 2014-08-26 Serveur comprenant une pluralite de modules

Publications (1)

Publication Number Publication Date
BR102015020326A2 true BR102015020326A2 (pt) 2017-05-30

Family

ID=52473933

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102015020326A BR102015020326A2 (pt) 2014-08-26 2015-08-24 servidor compreendendo uma pluralidade de módulos

Country Status (5)

Country Link
US (1) US9934183B2 (pt)
EP (1) EP2998877A3 (pt)
JP (1) JP6409229B2 (pt)
BR (1) BR102015020326A2 (pt)
FR (1) FR3025333B1 (pt)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983138B2 (en) 2015-07-26 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US11055252B1 (en) * 2016-02-01 2021-07-06 Amazon Technologies, Inc. Modular hardware acceleration device
US10372659B2 (en) 2016-07-26 2019-08-06 Samsung Electronics Co., Ltd. Multi-mode NMVE over fabrics devices
US11144496B2 (en) 2016-07-26 2021-10-12 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US10346041B2 (en) 2016-09-14 2019-07-09 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US10762023B2 (en) 2016-07-26 2020-09-01 Samsung Electronics Co., Ltd. System architecture for supporting active pass-through board for multi-mode NMVe over fabrics devices
JP2018018200A (ja) * 2016-07-26 2018-02-01 Necプラットフォームズ株式会社 電源装置および電源制御方法
US10210123B2 (en) 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US11461258B2 (en) * 2016-09-14 2022-10-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
US10496566B2 (en) 2016-12-20 2019-12-03 Samsung Electronics Co., Ltd. Method and apparatus for data recovering during a board replacement
CN108289041B (zh) * 2018-01-25 2022-02-22 郑州云海信息技术有限公司 一种服务器信息的处理方法以及相关装置
US10908940B1 (en) 2018-02-26 2021-02-02 Amazon Technologies, Inc. Dynamically managed virtual server system
FR3078799B1 (fr) 2018-03-12 2021-06-04 Bull Sas Gestion de donnees de configuration pour un serveur multimodule
CN109298660A (zh) * 2018-08-14 2019-02-01 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 一种卫星有效载荷的控制系统
TWI675288B (zh) * 2018-09-21 2019-10-21 神雲科技股份有限公司 伺服器機櫃
CN109709918A (zh) * 2018-12-25 2019-05-03 山东华宇航天空间技术有限公司 一种卫星智能生产可视化管控系统
US11693448B2 (en) * 2019-03-05 2023-07-04 Intel Corporation Timestamp alignment across multiple computing nodes
FR3123468B1 (fr) * 2021-05-31 2024-04-19 St Microelectronics Srl Système sur puce
CN113485661B (zh) * 2021-07-01 2023-08-22 深圳市同泰怡信息技术有限公司 四路服务器及其输出日志信息的方法
CN115442207B (zh) * 2022-07-29 2024-01-26 中电科思仪科技股份有限公司 一种基于BMC+SoC+网络交换模块的硬件运维管理系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6891397B1 (en) * 2003-04-21 2005-05-10 Xilinx, Inc. Gigabit router on a single programmable logic device
TWI244594B (en) * 2004-07-13 2005-12-01 Quanta Comp Inc Method for automatically assigning the address of communication ports and a blade server system
EP1782521A2 (en) * 2004-07-31 2007-05-09 Server Technology, Inc. Transfer switch with arc suppression
CN1863081B (zh) * 2005-10-14 2010-05-05 华为技术有限公司 基板管理控制器的管理系统和方法
FR2898753B1 (fr) * 2006-03-16 2008-04-18 Commissariat Energie Atomique Systeme sur puce a controle semi-distribue
WO2008070172A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for remote direct memory access to a solid-state storage device
US8036247B2 (en) * 2007-01-05 2011-10-11 Frank Paul R System and method of synchronizing real time clock values in arbitrary distributed systems
US7840656B2 (en) * 2008-04-30 2010-11-23 International Business Machines Corporation Policy control architecture for blade servers upon inserting into server chassis
US7788363B2 (en) * 2008-07-15 2010-08-31 Unisys Corporation Secure communication over virtual IPMB of a mainframe computing system
US8201009B2 (en) * 2009-07-14 2012-06-12 T-Win Systems, Inc. Computer management and power backup system and device
US8595550B1 (en) * 2011-03-30 2013-11-26 Google Inc. Back-up power for a network switch
US20130080754A1 (en) * 2011-09-22 2013-03-28 Cisco Technology, Inc. Service Profile Based Peripheral Component Interconnect Device Enumeration And Option ROM Loading
US8832473B2 (en) * 2012-05-24 2014-09-09 Mitac International Corp. System and method for activating at least one of a plurality of fans when connection of a computer module is detected
US20140115137A1 (en) * 2012-10-24 2014-04-24 Cisco Technology, Inc. Enterprise Computing System with Centralized Control/Management Planes Separated from Distributed Data Plane Devices
US9606588B2 (en) * 2012-11-08 2017-03-28 Silicon Graphics International Corp. Closed-loop cooling system for high-density clustered computer system
US9367419B2 (en) * 2013-01-08 2016-06-14 American Megatrends, Inc. Implementation on baseboard management controller of single out-of-band communication access to multiple managed computer nodes
US9529583B2 (en) * 2013-01-15 2016-12-27 Intel Corporation Single microcontroller based management of multiple compute nodes
IN2013CH05264A (pt) * 2013-05-01 2015-05-29 Wyse Technology Llc
US8924899B2 (en) * 2013-05-23 2014-12-30 Daniel Jakob Seidner System and method for universal control of electronic devices

Also Published As

Publication number Publication date
FR3025333B1 (fr) 2017-12-08
EP2998877A3 (fr) 2016-08-03
US20160062936A1 (en) 2016-03-03
JP6409229B2 (ja) 2018-10-24
US9934183B2 (en) 2018-04-03
FR3025333A1 (fr) 2016-03-04
JP2016045968A (ja) 2016-04-04
EP2998877A2 (fr) 2016-03-23

Similar Documents

Publication Publication Date Title
BR102015020326A2 (pt) servidor compreendendo uma pluralidade de módulos
US11194635B2 (en) Orchestration service for a distributed computing system
TWI768296B (zh) 用於組態漂移偵測及補救之系統及方法
US9477564B2 (en) Method and apparatus for dynamic node healing in a multi-node environment
US7222268B2 (en) System resource availability manager
GB2492620A (en) Midplane for blade server management
US8892805B2 (en) High performance system that includes reconfigurable protocol tables within an ASIC wherein a first protocol block implements an inter-ASIC communications protocol and a second block implements an intra-ASIC function
US11836100B1 (en) Redundant baseboard management controller (BMC) system and method
US11100228B2 (en) System and method to recover FPGA firmware over a sideband interface
BR102015015928A2 (pt) método e dispositivo para execução de modo síncrono um aplicativo em um ambiente de alta disponibilidade
US20200133355A1 (en) System and method for recovery of sideband interfaces for controllers
US10719310B1 (en) Systems and methods for reducing keyboard, video, and mouse (KVM) downtime during firmware update or failover events in a chassis with redundant enclosure controllers (ECs)
US20240103836A1 (en) Systems and methods for topology aware firmware updates in high-availability systems
US20240103828A1 (en) Systems and methods for thermal monitoring during firmware updates
JP6303405B2 (ja) 情報処理装置、管理装置、監視装置、監視プログラム、及び管理装置の監視方法
US20240095020A1 (en) Systems and methods for use of a firmware update proxy
US12073204B2 (en) Systems and methods for firmware update using multiple remote access controllers
US20240303380A1 (en) SYSTEMS AND METHODS TO REPRESENT FUNCTIONS IN A PCIe MULTI-FUNCTION FIELD REPLACEABLE UNIT
US20240103846A1 (en) Systems and methods for coordinated firmware update using multiple remote access controllers
WO2023129298A1 (en) Systems and methods to initiate device recovery

Legal Events

Date Code Title Description
B03A Publication of an application: publication of a patent application or of a certificate of addition of invention
B06F Objections, documents and/or translations needed after an examination request according art. 34 industrial property law
B06U Preliminary requirement: requests with searches performed by other patent offices: suspension of the patent application procedure
B11B Dismissal acc. art. 36, par 1 of ipl - no reply within 90 days to fullfil the necessary requirements