Il Cloud Computing è considerato fondamentale per la creazione di infrastrutture di calcolo grazie alle risorse messe a disposizione sotto forma di servizi. L’alto numero di Cloud Provider presenti sul mercato ha dato origine al paradigma del multi-cloud, che prevede l’integrazione all’interno della stessa architettura di più ambienti Cloud. I vantaggi che fornisce comprendono la possibilità di ridurre la dipendenza dal singolo provider, avere una maggiore scelta di servizi e tolleranza ai guasti. L’eterogeneità del mercato, tuttavia, implica forti differenze anche negli strumenti di accesso dei vari provider per usufruire dei loro servizi. Ciò rende l’utilizzo del multi-cloud un processo complesso per i meno esperti, creando la necessità di strumenti che facilitino il suo impiego. FLY è un Domain-Specific Language per il calcolo scientifico su multi-cloud che ha come obiettivo la semplificazione dello sviluppo di applicazioni che sfruttino tale paradigma. Il linguaggio FLY mette a disposizione una serie di costrutti che astraggono all’utente l’interazione con il provider, permettendogli di utilizzare servizi di diversi ambienti Cloud senza dover conoscere librerie e strumenti proprietari. Essendo FLY ancora in fase di sviluppo, i programmi di esempio scritti in FLY sono ancora pochi e poco complessi, rendendo necessaria l’introduzione di nuovi che fungano da guida ai nuovi sviluppatori. Questo lavoro di tesi ha come obiettivo l’implementazione di una serie di algoritmi genetici scritti in FLY, presentandone la progettazione e lo sviluppo. Gli algoritmi genetici sono algoritmi ispirati ai processi biochimici descritti nella Teoria dell’Evoluzione di Charles Darwin, per la risoluzione di problemi di ottimizzazione per cui non esistono soluzioni di complessità polinomiale o che sono particolarmente esosi in termini di risorse. Il successo degli algoritmi genetici deriva dalla loro relativa semplicità concettuale, pur essendo non banali da implementare. Per questo motivo, fornire degli esempi di programmi FLY che impiegano algoritmi genetici consente di dimostrare le funzionalità e le potenzialità del linguaggio oltre a risultare un buon punto di partenza per gli utenti che si approcciano a FLY per la prima volta.
Implementazione di Algoritmi Genetici in Linguaggio FLY
Andrea Di Pierno
Writing – Original Draft Preparation
;
2021-01-01
Abstract
Il Cloud Computing è considerato fondamentale per la creazione di infrastrutture di calcolo grazie alle risorse messe a disposizione sotto forma di servizi. L’alto numero di Cloud Provider presenti sul mercato ha dato origine al paradigma del multi-cloud, che prevede l’integrazione all’interno della stessa architettura di più ambienti Cloud. I vantaggi che fornisce comprendono la possibilità di ridurre la dipendenza dal singolo provider, avere una maggiore scelta di servizi e tolleranza ai guasti. L’eterogeneità del mercato, tuttavia, implica forti differenze anche negli strumenti di accesso dei vari provider per usufruire dei loro servizi. Ciò rende l’utilizzo del multi-cloud un processo complesso per i meno esperti, creando la necessità di strumenti che facilitino il suo impiego. FLY è un Domain-Specific Language per il calcolo scientifico su multi-cloud che ha come obiettivo la semplificazione dello sviluppo di applicazioni che sfruttino tale paradigma. Il linguaggio FLY mette a disposizione una serie di costrutti che astraggono all’utente l’interazione con il provider, permettendogli di utilizzare servizi di diversi ambienti Cloud senza dover conoscere librerie e strumenti proprietari. Essendo FLY ancora in fase di sviluppo, i programmi di esempio scritti in FLY sono ancora pochi e poco complessi, rendendo necessaria l’introduzione di nuovi che fungano da guida ai nuovi sviluppatori. Questo lavoro di tesi ha come obiettivo l’implementazione di una serie di algoritmi genetici scritti in FLY, presentandone la progettazione e lo sviluppo. Gli algoritmi genetici sono algoritmi ispirati ai processi biochimici descritti nella Teoria dell’Evoluzione di Charles Darwin, per la risoluzione di problemi di ottimizzazione per cui non esistono soluzioni di complessità polinomiale o che sono particolarmente esosi in termini di risorse. Il successo degli algoritmi genetici deriva dalla loro relativa semplicità concettuale, pur essendo non banali da implementare. Per questo motivo, fornire degli esempi di programmi FLY che impiegano algoritmi genetici consente di dimostrare le funzionalità e le potenzialità del linguaggio oltre a risultare un buon punto di partenza per gli utenti che si approcciano a FLY per la prima volta.File | Dimensione | Formato | |
---|---|---|---|
Tesi_Triennale_FLY___Algoritmi_Genetici.pdf
accesso aperto
Tipologia:
Versione Editoriale (PDF)
Licenza:
Creative commons
Dimensione
638.57 kB
Formato
Adobe PDF
|
638.57 kB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.