Está previsto que o sistema Shenango se use nos centros de datos.
/ foto
Segundo un dos provedores, os centros de datos só o 20-40% da potencia informática dispoñible. A altas cargas este indicador . 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 , 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 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 é Linux- unha biblioteca C con ligazóns Rust e C++. O código do proxecto e as aplicacións de proba están publicadas en 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 , 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 . 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.

Shenango tamén toma o enfoque . 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 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 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 -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.

/ foto
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 impleméntase como unha biblioteca C++ para Linux, e o seu código fonte está dispoñible en .
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 é .
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 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 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
