Novo equilibrador de carga da CPU do MIT

Está previsto que o sistema Shenango se use nos centros de datos.

Novo equilibrador de carga da CPU do MIT
/ foto Marco verch CC BY

Segundo un dos provedores, os centros de datos usar só o 20-40% da potencia informática dispoñible. A altas cargas este indicador pode chegar ao 60%. Esta distribución de recursos leva á aparición dos chamados "servidores zombies". Son máquinas que permanecen inactivas a maior parte do tempo, desperdiciando enerxía. Hoxe o 30% dos servidores do mundo están sen traballo, consumindo 30 millóns de dólares de electricidade ao ano.

O MIT decidiu combater o uso ineficiente dos recursos informáticos.

Equipo de enxeñeiros desenvolveuse sistema de equilibrio de carga do procesador chamado Shenango. O seu propósito é supervisar o estado do búfer de tarefas e redistribuír os procesos atascados (que non poden recibir o tempo de CPU) ás máquinas libres.

Como funciona Shenango

Shenango é unha biblioteca de Linux en C con enlaces Rust e C++. O código do proxecto e as aplicacións de proba publícanse en repositorios en GitHub.

A solución baséase no algoritmo IOKernel, que se executa nun núcleo dedicado dun sistema multiprocesador. Xestiona as solicitudes de CPU mediante un framework DPDK, que permite que as aplicacións se comuniquen directamente cos dispositivos de rede.

O IOKernel decide a que núcleos delegar unha tarefa específica. O algoritmo tamén decide cantos núcleos serán necesarios. Para cada proceso, determínanse os núcleos principais (garantidos) e outros adicionais (esvatables); estes últimos lánzanse en caso de aumento brusco do número de solicitudes á CPU.

A cola de solicitudes de IOKernel está organizada como buffer de anel. Cada cinco microsegundos, o algoritmo comproba se se completaron todas as tarefas asignadas ao núcleo. Para iso, compara a localización actual da cabeza do buffer coa posición anterior da súa cola. Se resulta que a cola xa estaba na cola no momento da comprobación anterior, o sistema observa a sobrecarga do búfer e asigna un núcleo adicional para o proceso.

Ao distribuír a carga, dáselles prioridade aos núcleos nos que se executou anteriormente o mesmo proceso e permaneceu parcialmente na caché, ou aos núcleos inactivos.

Novo equilibrador de carga da CPU do MIT

Shenango tamén toma o enfoque roubo de traballo. Os núcleos asignados para executar unha aplicación supervisan o número de tarefas que cada un ten. Se un núcleo remata a súa lista de tarefas antes que os outros, entón "alivia" parte da carga dos seus veciños.

Fortalezas e debilidades

En segundo enxeñeiros do MIT, Shenango é capaz de procesar cinco millóns de solicitudes por segundo e manter un tempo medio de resposta de 37 microsegundos. Os expertos din que nalgúns casos a tecnoloxía pode aumentar a taxa de utilización dos procesadores nos centros de datos ata o 100%. Como resultado, os operadores de centros de datos poderán aforrar na compra e mantemento de servidores.

Potencial de solución celebrar e especialistas doutras universidades. Segundo un profesor dun instituto coreano, o sistema MIT axudará a reducir os atrasos nos servizos web. Por exemplo, será útil nas tendas en liña. Os días de rebaixas incluso hai un segundo atraso na carga da páxina приводит a unha diminución do número de visitas ao sitio nun 11%. A distribución rápida da carga axudará a servir a máis clientes.

A tecnoloxía aínda ten inconvenientes: non admite multiprocesador EN-sistemas nos que os chips están conectados a diferentes módulos de memoria e non se “comunican” entre si. Neste caso, IOKernel pode regular o funcionamento dun grupo separado de procesadores, pero non todos os chips de servidor.

Novo equilibrador de carga da CPU do MIT
/ foto Tim Reckmann CC BY

Tecnoloxías semellantes

Outros sistemas de balance de carga do procesador inclúen Arachne. Calcula cantos núcleos necesitará unha aplicación cando se inicie e distribúe os procesos segundo este indicador. Segundo os autores, a latencia máxima dunha aplicación en Arachne é duns 10 mil microsegundos.

A tecnoloxía está implementada como unha biblioteca C++ para Linux e o seu código fonte está dispoñible en GitHub.

Outra ferramenta de equilibrio é ZygOS. Do mesmo xeito que Shenango, a tecnoloxía usa o método de roubo de traballo para redistribuír os procesos. Segundo os autores de ZygOS, a latencia media da aplicación cando se usa a ferramenta é duns 150 microsegundos e o máximo é duns 450 microsegundos. O código do proxecto tamén é é de dominio público.

Descubrimentos

Os centros de datos modernos seguen a expandirse. A tendencia crecente é especialmente perceptible no mercado dos centros de datos a hiperescala: agora no mundo hai 430 centros de datos a hiperescala, pero nos próximos anos o seu número pode aumentar nun 30%. Por este motivo, as tecnoloxías de balance de carga do procesador terán unha gran demanda. Sistemas como Shenango xa están dispoñibles implementar grandes corporacións, e o número de tales ferramentas só crecerá no futuro.

Publicacións do primeiro blog sobre IaaS corporativo:

Fonte: www.habr.com

Engadir un comentario