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.
2021
Domain Specific Language, DSL, FLY, Cloud, Multi Cloud
File in questo prodotto:
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.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.11771/31938
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
social impact