I container Docker ospitati su piattaforme cloud sviluppano competenze ingegneristiche utili per la carriera

Gli studenti si concentrano sulla modellazione matematica anziché sull'installazione del software


Anthony Patera, dal 1982, impartisce corsi di ingegneria meccanica al MIT, dopo aver completato la laurea, il master e il dottorato presso la stessa istituzione. Sebbene gli ingegneri abbiano utilizzato il calcolo scientifico per tutto questo tempo, esso è rimasto in gran parte assente da molti corsi di base. Le ragioni vanno dalla difficoltà di far funzionare il software su tutti i computer alla mancanza di macchine con sufficiente potenza di calcolo. Ha provato più volte nel corso della sua carriera a utilizzare più software nelle sue lezioni. “Ho rinunciato”, dice.

Recentemente ha implementato una soluzione elegante in uno dei suoi corsi. Il ricercatore post-dottorato di Patera, Kento Kaneko, ha inserito il codice che esegue un calcolo chiave in un componente facilmente accessibile a cui gli studenti potevano accedere dal cloud. “Ciò cambia la profondità dei problemi”, dice Patera, “e la misura in cui possiamo rendere il tutto più rilevante e interessante”.

Dalla ricerca all'aula

La soluzione è iniziata con una sovvenzione da parte dell’Ufficio di ricerca navale. Utilizzando equazioni differenziali parziali (PDE), il laboratorio di Patera ha sviluppato un modo per fornire stime di errore per un'approssimazione del trasferimento di calore ampiamente utilizzata per soluzioni del problema di conduzione dipendente dal tempo. Tuttavia, lo stimatore richiede la risoluzione di una singola PDE ellittica. Condividere il proprio lavoro con professionisti di tutto il mondo si è rivelato impegnativo: La distribuzione dei file del codice sorgente richiede che i destinatari ricreano l'ambiente e le dipendenze.

“Per anni ho lottato per preparare gli studenti al mondo del lavoro. Il posto di lavoro è dominato dalla simulazione. Il punto chiave nella simulazione non è ottenere i numeri. È sapere che sono corretti. Fino ad ora, non avevo il veicolo per convincere gli studenti a esercitare quelle abilità.”

Anthony Patera, Professore di ingegneria meccanica, MIT

Pensavano di condividerlo come file eseguibile, ma la distribuzione degli aggiornamenti sarebbe stata impegnativa. Inoltre, ciascun destinatario avrebbe bisogno dei diritti amministrativi per eseguire i file eseguibili, che a volte vengono bloccati dai dipartimenti IT per motivi di sicurezza. Dopo aver parlato con MathWorks, hanno trovato un approccio ottimale per condividere il proprio lavoro: un microservizio di container Docker®.

Un container è un'unità software autonoma che racchiude il codice e tutte le sue dipendenze, in modo che l'applicazione venga eseguita in modo identico in qualsiasi ambiente informatico. Docker è un'implementazione popolare di container e lo standard de facto per la distribuzione del software. Il container Docker incapsula il sistema operativo, supportando le librerie, i tempi di esecuzione, il codice MATLAB® che risolve la PDE e un endpoint API HTTP per richiamare il codice MATLAB, noto anche come microservizio. Il codice MATLAB esistente può essere facilmente trasformato in un microservizio di container Docker utilizzando MATLAB Compiler SDK™. Un utente client del microservizio del container Docker può fornire la geometria dell'oggetto come input e ricevere una soluzione e stime dell'errore tramite un intermediario dell'app web o direttamente tramite l'API del microservizio.

Il software MATLAB PDE è stato sviluppato da Patera e Kaneko in collaborazione con il Professor Masayuki Yano dell'Università di Toronto. “Abbiamo realizzato che il processo è ottimo anche per gli studenti”, dice Patera. Lui e Kaneko hanno implementato lo stesso approccio ai microservizi Docker nella classe Intermediate Heat and Mass Transfer di Patera. Tre serie di problemi utilizzano il microservizio di trasferimento di calore (HTM).

Uno dei problemi riguarda i ponti termici. Gli studenti ricevono uno schema della sezione trasversale di un muro, con l'interno dell'edificio a sinistra e l'esterno a destra. La parete è in gran parte isolata, ad eccezione di alcune zone con montanti in acciaio. I perni trasportano efficacemente il calore dall'interno dell'edificio verso l'esterno. L'HTM crea un grafico della temperatura per gli studenti che assomiglia a un foglio bidimensionale deformato. Gli studenti devono convincere Patera che il grafico è corretto entro i limiti di errore specificati.

“Per anni ho lottato per preparare gli studenti al mondo del lavoro”, afferma Patera. “Il posto di lavoro è dominato dalla simulazione. Il punto chiave nella simulazione non è ottenere i numeri. È sapere che sono corretti. Fino ad ora, non avevo il veicolo per convincere gli studenti a esercitare quelle abilità.” L'HTM consente agli studenti di dedicare più tempo allo sviluppo di capacità di valutazione critica invece di eseguire calcoli meccanici o configurazioni di software IT.

Patera sottolinea l'importanza della simulazione nell'istruzione universitaria. Gli studenti possono lavorare su problemi realistici relativi ad argomenti a cui potrebbero essere interessati, come l'efficienza energetica degli edifici. Inoltre estendono le loro capacità di modellazione, di cui avranno bisogno per risolvere molti tipi di problemi complessi. “Questo li aiuta a sviluppare le loro capacità di rilevamento degli errori”, afferma Patera. “Devono determinare se la simulazione è corretta.”

“I microservizi sono il fattore chiave”, aggiunge Patera. “Gli elementi pedagogici essenziali non sono ostacolati da barriere pratiche associate all’amministrazione, all’implementazione e all’accesso”.

Un grafico creato dal microservizio Heat Transfer che traccia la distribuzione della temperatura di un problema di ponti termici.

Il microservizio Heat Transfer genera e trasferisce la soluzione PDE per un grafico che mostra la distribuzione della temperatura sul software client. (Credito immagine: Kento Kaneko)

Nel cloud

Screenshot che mostra un elenco di nomi di file di immagine aggiornati e configurazione per il container con campi per l'URL dell'immagine, la porta del container, argomenti, allocazione di memoria e numero di CPU allocate a ciascuna istanza del container.

La configurazione di Google Cloud Run. (Crediti dell’immagine: Kento Kaneko)

“Penso che questo sia un ottimo esempio di microservizi che democratizzano il processo educativo”.

Anthony Patera, Professore di ingegneria meccanica, MIT

Il microservizio HTM Docker viene eseguito su Google Cloud Platform™, consentendo agli studenti di accedervi da qualsiasi luogo. Secondo Kaneko, l'HTM è facile da aggiornare. È efficiente, affidabile e scalabile. Il servizio Google® Cloud Run garantisce che, se più persone desiderano utilizzare HTM contemporaneamente, ridimensionerà le risorse in base alle necessità per gestire il carico. Ciò avviene automaticamente e Kaneko non deve preoccuparsi del provisioning dell'hardware.

Anche se gli studenti eseguissero i componenti sui loro personal computer, non otterrebbero necessariamente le stesse prestazioni che ottengono dal servizio cloud. Patera vuole condividere l'HTM con studenti di altre università con meno risorse. “Penso che questo sia un ottimo esempio di microservizi che democratizzano il processo educativo”, afferma.

Introduzione di ChatGPT

Gli studenti si sono comportati molto bene in classe e non hanno presentato alcuna lamentela riguardo al software. Nota che gli studenti tendono ad essere educati, tranne quando il software non funziona. “Ma nel corso del semestre non c'è stata alcuna lamentela”, dice. “Ciò non mi dice che stiano apprezzando l'esperienza pedagogica. Ma mi dice che il software funziona.”

Patera e Kaneko hanno anche reso il loro sistema compatibile con ChatGPT in modo che gli utenti possano semplicemente descrivere il problema in linguaggio naturale, che chiama l'HTM per ottenere i risultati. Non hanno ancora offerto questa opzione agli studenti perché non hanno licenze ChatGPT per tutti.

MATLAB non serve solo per eseguire esperimenti sui desktop. Sia negli ambienti professionali che in quelli di apprendimento, i team possono distribuire il proprio codice con MATLAB Compiler SDK in un formato standard del settore, comprese tutte le dipendenze correlate. Ciò garantisce che le applicazioni MATLAB vengano eseguite in modo coerente su vari sistemi operativi e piattaforme cloud.

Attraverso l’esecuzione di microservizi Docker nel cloud, gli utenti possono interagire con le applicazioni MATLAB attraverso una moltitudine di interfacce, che vanno da una semplice riga di comando a sofisticate interfacce di chat in linguaggio naturale, consentendo loro di concentrarsi sull'essenza del proprio lavoro (pensiero critico e risoluzione dei problemi) piuttosto che sulla configurazione del software e amministrazione IT.

Patera e Kaneko guardano al futuro, dove i loro studenti apprenderanno i principi di modellazione del trasferimento di calore senza codificare una sola riga. Alla fine, dicono, sarai in grado di mostrare a ChatGPT l'immagine di una mela o di un altro oggetto e inserirà tutti i parametri nella funzione HTM. “Ciò significa che stai accedendo a un PDE senza nemmeno saperlo. Naturalmente, lo studente deve ancora prendere la decisione finale: accettare o rifiutare il risultato”.

Patera e Kaneko hanno anche reso il loro sistema compatibile con ChatGPT in modo che gli utenti possano semplicemente descrivere il problema in linguaggio naturale, che chiama l'HTM per ottenere i risultati.

Screenshot dell'interfaccia utente ChatGPT che mostra la dichiarazione del problema per calcolare il trasferimento di calore di una mela rimossa da un frigorifero, dati in formato JSON e il filename suggerito di “apple-dunking-room-environment.json”.

Una dichiarazione del problema inserita in ChatGPT, da cui si generano dati in formato JSON e si crea un nome file suggerito. (Crediti dell’immagine: Kento Kaneko)

Un diagramma di phi (una quantità basata sulla geometria utilizzata per l'analisi degli errori), uno screenshot dei coefficienti di trasferimento del calore e un grafico che mostra l'evoluzione della temperatura di una mela nel tempo.

Il file JSON generato da ChatGPT viene passato a una GUI, che a sua volta interagisce con il microservizio Heat Transfer. (Credito immagine: Kento Kaneko)


Altri casi

Navigazione nel pannello

AI/ACCADEMIA

Produzione di biocarburante con AI e IoT

L'interfaccia online porta gli studenti in laboratorio, virtualmente

Navigazione nel pannello
Navigazione nel pannello