• Home
  • Chimica
  • Astronomia
  • Energia
  • Natura
  • Biologia
  • Fisica
  • Elettronica
  • Il sistema di intelligenza artificiale alloca in modo ottimale i carichi di lavoro su migliaia di server per ridurre i costi, risparmiare energia

    Un nuovo sistema dei ricercatori del MIT "impara" automaticamente come allocare le operazioni di elaborazione dei dati su migliaia di server.

    Un nuovo sistema sviluppato dai ricercatori del MIT "impara" automaticamente come programmare le operazioni di elaborazione dei dati su migliaia di server, un compito tradizionalmente riservato a persone imprecise, algoritmi progettati dall'uomo. Ciò potrebbe aiutare i data center assetati di energia di oggi a funzionare in modo molto più efficiente.

    I data center possono contenere decine di migliaia di server, che eseguono costantemente attività di elaborazione dei dati da sviluppatori e utenti. Gli algoritmi di pianificazione del cluster allocano le attività in entrata tra i server, in tempo reale, per utilizzare in modo efficiente tutte le risorse informatiche disponibili e portare a termine i lavori velocemente.

    Tradizionalmente, però, gli umani mettono a punto quegli algoritmi di pianificazione, sulla base di alcune linee guida di base ("politiche") e vari compromessi. possono, ad esempio, codificare l'algoritmo per eseguire rapidamente determinati lavori o suddividere equamente le risorse tra i lavori. Ma i carichi di lavoro, ovvero gruppi di attività combinate, sono di tutte le dimensioni. Perciò, è praticamente impossibile per gli esseri umani ottimizzare i propri algoritmi di pianificazione per carichi di lavoro specifici e, di conseguenza, spesso non raggiungono il loro vero potenziale di efficienza.

    I ricercatori del MIT hanno invece scaricato tutta la codifica manuale sulle macchine. In un documento presentato a SIGCOMM, descrivono un sistema che sfrutta il "reinforcement learning" (RL), una tecnica di apprendimento automatico per tentativi, per adattare le decisioni di pianificazione a carichi di lavoro specifici in cluster di server specifici.

    Fare così, hanno creato nuove tecniche di RL in grado di allenarsi su carichi di lavoro complessi. In allenamento, il sistema prova molti modi possibili per allocare i carichi di lavoro in entrata tra i server, alla fine trovando un compromesso ottimale nell'utilizzo di risorse di calcolo e velocità di elaborazione rapida. Nessun intervento umano è richiesto oltre una semplice istruzione, come, "ridurre al minimo i tempi di completamento del lavoro".

    Rispetto ai migliori algoritmi di pianificazione scritti a mano, il sistema dei ricercatori completa i lavori dal 20 al 30 percento più velocemente, e due volte più veloce durante i periodi di traffico intenso. Soprattutto, però, il sistema impara a compattare i carichi di lavoro in modo efficiente per lasciare pochi rifiuti. I risultati indicano che il sistema potrebbe consentire ai data center di gestire lo stesso carico di lavoro a velocità più elevate, utilizzando meno risorse.

    "Se hai un modo per fare tentativi ed errori usando le macchine, possono provare diversi modi di pianificare i lavori e capire automaticamente quale strategia è migliore di altre, "dice Hongzi Mao, un dottorato di ricerca studente presso il Dipartimento di Ingegneria Elettrica e Informatica (EECS). "Ciò può migliorare automaticamente le prestazioni del sistema. E qualsiasi lieve miglioramento nell'utilizzo, anche l'1 per cento, può risparmiare milioni di dollari e molta energia nei data center."

    "Non c'è una taglia unica per prendere decisioni sulla pianificazione, " aggiunge il co-autore Mohammad Alizadeh, un professore e ricercatore EECS nel Laboratorio di Informatica e Intelligenza Artificiale (CSAIL). "Nei sistemi esistenti, questi sono parametri codificati che devi decidere in anticipo. Il nostro sistema invece impara a mettere a punto le sue caratteristiche della politica di pianificazione, a seconda del data center e del carico di lavoro."

    Insieme a Mao e Alizadeh sul giornale ci sono:i postdoc Malte Schwarzkopf e Shaileshh Bojja Venkatakrishnan, e assistente di ricerca laureato Zili Meng, tutto CSAIL.

    RL per la programmazione

    Tipicamente, i lavori di elaborazione dati entrano nei data center rappresentati come grafici di "nodi" e "bordi". Ogni nodo rappresenta un'attività di calcolo che deve essere eseguita, dove più grande è il nodo, maggiore è la potenza di calcolo necessaria. I bordi che collegano i nodi collegano le attività connesse tra loro. Gli algoritmi di pianificazione assegnano nodi ai server, sulla base di diverse politiche.

    Ma i sistemi RL tradizionali non sono abituati a elaborare grafici così dinamici. Questi sistemi utilizzano un "agente" software che prende decisioni e riceve un segnale di feedback come ricompensa. Essenzialmente, cerca di massimizzare le sue ricompense per ogni data azione per apprendere un comportamento ideale in un determinato contesto. Loro possono, ad esempio, aiutare i robot a imparare a svolgere un compito come raccogliere un oggetto interagendo con l'ambiente, ma ciò comporta l'elaborazione di video o immagini attraverso una griglia di pixel più semplice.

    Per costruire il loro pianificatore basato su RL, chiamato Decima, i ricercatori hanno dovuto sviluppare un modello in grado di elaborare lavori strutturati in grafici, e scalare a un gran numero di lavori e server. L'"agente" del loro sistema è un algoritmo di pianificazione che sfrutta una rete neurale a grafo, comunemente usato per elaborare dati strutturati in grafici. Per ottenere una rete neurale a grafo adatta alla schedulazione, hanno implementato un componente personalizzato che aggrega le informazioni attraverso i percorsi nel grafico, ad esempio stimando rapidamente la quantità di calcolo necessaria per completare una determinata parte del grafico. Questo è importante per la pianificazione del lavoro, perché i nodi "figli" (inferiori) non possono iniziare l'esecuzione fino a quando i loro nodi "genitori" (superiori) non terminano, quindi anticipare il lavoro futuro lungo percorsi diversi nel grafico è fondamentale per prendere buone decisioni di pianificazione.

    Per addestrare il loro sistema RL, i ricercatori hanno simulato molte diverse sequenze di grafici che imitano i carichi di lavoro in arrivo nei data center. L'agente prende quindi decisioni su come allocare ciascun nodo lungo il grafico a ciascun server. Per ogni decisione, un componente calcola una ricompensa in base a come ha svolto un'attività specifica, ad esempio riducendo al minimo il tempo medio impiegato per elaborare un singolo lavoro. L'agente va avanti, migliorare le sue decisioni, fino a quando non ottiene la ricompensa più alta possibile.

    Basare i carichi di lavoro

    Una preoccupazione, però, è che alcune sequenze del carico di lavoro sono più difficili di altre da elaborare, perché hanno compiti più grandi o strutture più complicate. Questi impiegheranno sempre più tempo per l'elaborazione e, perciò, il segnale di ricompensa sarà sempre inferiore rispetto a quelli più semplici. Ma ciò non significa necessariamente che il sistema abbia funzionato male:potrebbe guadagnare tempo con un carico di lavoro impegnativo, ma essere comunque più lento di un carico di lavoro più semplice. Questa variabilità nella difficoltà rende difficile per il modello decidere quali azioni sono buone o meno.

    Per affrontare questo, i ricercatori hanno adattato una tecnica chiamata "baseline" in questo contesto. Questa tecnica prende le medie di scenari con un gran numero di variabili e usa tali medie come base per confrontare i risultati futuri. Durante l'allenamento, hanno calcolato una linea di base per ogni sequenza di input. Quindi, consentono allo scheduler di eseguire più volte l'addestramento su ciascuna sequenza del carico di lavoro. Prossimo, il sistema ha preso le prestazioni medie tra tutte le decisioni prese per lo stesso carico di lavoro di input. Quella media è la linea di base rispetto alla quale il modello potrebbe quindi confrontare le sue decisioni future per determinare se le sue decisioni sono buone o cattive. Si riferiscono a questa nuova tecnica come "baseline dipendente dall'input".

    Quell'innovazione, dicono i ricercatori, è applicabile a molti sistemi informatici differenti. "Questo è un modo generale per eseguire l'apprendimento per rinforzo in ambienti in cui c'è questo processo di input che influisce sull'ambiente, e vuoi che ogni evento di formazione prenda in considerazione un campione di quel processo di input, " dice. "Quasi tutti i sistemi informatici hanno a che fare con ambienti in cui le cose cambiano continuamente".

    Aditya Akella, un professore di informatica all'Università del Wisconsin a Madison, il cui gruppo ha progettato diversi schedulatori ad alte prestazioni, hanno scoperto che il sistema del MIT potrebbe aiutare a migliorare ulteriormente le proprie politiche. "Decima può fare un passo avanti e trovare opportunità di ottimizzazione [della pianificazione] che sono semplicemente troppo onerose da realizzare tramite processi di progettazione/regolazione manuali, " dice Akella. "Gli schedulatori che abbiamo progettato hanno ottenuto miglioramenti significativi rispetto alle tecniche utilizzate nella produzione in termini di prestazioni delle applicazioni ed efficienza dei cluster, ma c'era ancora un divario con i miglioramenti ideali che avremmo potuto ottenere. Decima mostra che un approccio basato su RL può scoprire [politiche] che aiutano a colmare ulteriormente il divario. Decima ha migliorato le nostre tecniche di un [circa] 30 percento, che è stata una grande sorpresa".

    Proprio adesso, il loro modello è addestrato su simulazioni che cercano di ricreare il traffico online in entrata in tempo reale. Prossimo, i ricercatori sperano di addestrare il modello sul traffico in tempo reale, che potrebbe potenzialmente mandare in crash i server. Così, stanno attualmente sviluppando una "rete di sicurezza" che fermerà il loro sistema quando sta per causare un crash. "Lo pensiamo come ruote di allenamento, " Dice Alizadeh. "Vogliamo che questo sistema si alleni continuamente, ma ha alcune rotelle che se si spinge troppo lontano possiamo assicurarci che non cada".

    Questa storia è stata ripubblicata per gentile concessione di MIT News (web.mit.edu/newsoffice/), un popolare sito che copre notizie sulla ricerca del MIT, innovazione e didattica.




    © Scienza https://it.scienceaq.com