Εμφάνιση απλής εγγραφής

Σύστημα διαχείρισης επιστημονικών ροών με τη χρήση τεχνικών εικονικού υπολογισμού (virtualization software).

Στοιχεία Dublin Core

dc.creatorKoutoulakis, Emmanouilen
dc.creatorΚουτουλάκης, Εμμανουήλel
dc.date.accessioned2020-09-22T09:25:44Z
dc.date.available2020-09-22T09:25:44Z
dc.date.issued2020-09-22
dc.identifier.urihttp://hdl.handle.net/20.500.12688/9638
dc.description.abstractWorkflows are widely used abstractions for the representation of large scientific applications that also ease their execution on distributed systems such as clusters, clouds, and grids. However, workflow systems are mainly agnostic on the environment on which each task of the workflow is expected to run. As a result, a workflow may run correctly in the environment in which it was designed, but then moved to another environment, it is likely to fail due to differences in the operating systems, installed applications, library versions, available data, and other dependencies. This factor is a major issue in life sciences. Lightweight container technologies like Docker have recently arisen as a solution to this problem by providing a well-defined execution environment at the operating system level. OpenBio (https://www.openbio.eu) is a web-based workflow platform that can compose multiple tools or workflows in one and aims to maximize reproducibility. In this thesis, we consider how to best integrate the OpenBio platform with an Execution Environment running in a virtual container. With this abstraction, users can manage multiple workflows, monitor the use of their resources, which can help achieve scalability and optimal resource utilization. Several platforms currently exist that design and execute sophisticated pipelines (e.g Galaxy [7], Luigi [8], Nextflow [9]). The main drawback of these platforms is the lack of the necessary parallelism, flexibility, and portability. In this thesis, we test a variety of workflow management systems and resource monitoring tools. This careful evaluation resulted in the following stack of tools. AirFlow is used for Workflow Execution, NetData used for resource monitoring, and a client written that uses Python Flask acts as an API for interface monitoring. Also, we leverage Docker-Compose to orchestrate the communication and interoperability between these tools. AirFlow was used due to its ability to treat scientific pipelines in a simple, portable, reproducible, and scalable manner, mainly by modeling them as DAGs (Directed Acyclic Graphs). AirFlow and NetData both are configured in accordance with the Execution Environment prerequisites. OpenBio Platform with the collaboration of the Execution Environment provides; (1) a drag and drop user interface using OpenBio platform for pipeline composition that allows users to create complex pipelines without familiarity in underlying programming languages, (2) User-friendly monitoring system, (3) automatic report generation with results and processing logs and (4) portability towards distributed computing environments such as cluster, grid, and cloud with the ability to generate multiple instances.en
dc.description.abstractΟι ροές εργασίας χρησιμοποιούνται ευρέως για την αναπαράσταση μεγάλων επιστημονικών εφαρμογών που διευκολύνουν την εκτέλεση τους σε κατανεμημένα συστήματα όπως clusters ή cloud. Ωστόσο, τα συστήματα ροής εργασίας είναι άγνωστα ως προς το περιβάλλον στο οποίο αναμένεται να εκτελεστεί κάθε βήμα της ροής εργασίας. Ως αποτέλεσμα, μια ροή εργασίας μπορεί να εκτελεστεί σωστά στο περιβάλλον στο οποίο σχεδιάστηκε, αλλά στη συνέχεια εκτελώντας την σε άλλο περιβάλλον, είναι πιθανό να αποτύχει λόγω διαφορών στο λειτουργικό σύστημα, τις εγκατεστημένες εφαρμογές, τις εκδόσεις βιβλιοθήκης, τα διαθέσιμα δεδομένα και άλλες εξαρτήσεις του περιβάλλοντος. Αυτός ο παράγοντας είναι ένα σημαντικό εμπόδιο στην βιοπληροφορική και γενικότερα στις επιστήμες δεδομένων. Οι τεχνολογίες container όπως το Docker προέκυψαν πρόσφατα ως λύση σε αυτό το πρόβλημα παρέχοντας ένα καθορισμένο περιβάλλον εκτέλεσης σε επίπεδο λειτουργικού συστήματος. Με την χρήση αυτών των τεχνολογιών, μία πολύπλοκη ροή εργασίας μπορεί να εκτελεσθεί σε ένα απομονωμένο περιβάλλον στο οποίο ενσωματώνονται όλα τα απαραίτητα εργαλεία και βιβλιοθήκες για να πραγματοποιηθεί η εκτέλεση. Πιο συγκεκριμένα, τα Containers λειτουργούν ως ένα ελαφρύ ανεξάρτητο λειτουργικό σύστημα μέσα στο υπάρχων σύστημα το οποίο μπορούμε να το επεξεργαστούμε εύκολα και γρήγορα χωρίς τον φόβο για οποιαδήποτε καταστροφή στο σύστημα φιλοξενίας του. Η ευελιξία και η φορητότητα είναι σημαντικά προβλήματα στην εκτέλεσης μίας επιστημονικής ροής εργασίας. Υπάρχουν πολλές αξιόλογες πλατφόρμες που σχεδιάζουν και εκτελούν αυτές τις ροές. Κάθε μία εξ ’αυτών έχει την δική της γλώσσα-τρόπο για την αναπαράσταση μιας ροής εργασίας. Ως εκ τούτου, μία ροή εργασίας η οποία έχει αναπαραχθεί σε μία συγκεκριμένη πλατφόρμα εκτέλεσης δεν μπορεί να εκτελεσθεί σε διαφορετική πλατφόρμα λόγο της διαφορετικής γλώσσας η οποία χρησιμοποιήθηκε για την παραγωγή της. Κύριο αποτέλεσμα αυτού, είναι να απαιτείται από τον εκάστοτε χρήστη, εξειδικευμένη γνώση για την ανάπτυξη και την επεξεργασία μιας ροής εργασίας. Επιπλέον, οι πλατφόρμες αυτές δεν είναι συνδεδεμένες με κάποιο αποθετήριο έτσι ώστε να γίνετε άμεσα η εκτέλεση και η εξαγωγή αποτελεσμάτων μία ροής εργασίας με αυτού, το οποίο είναι ακόμα ένα μείζον πρόβλημα για την διαλειτουργικότητα μιας επιστημονικής ροή εργασίας. Το OpenBio (https://www.openbio.eu) είναι μια διαδικτυακή πλατφόρμα η οποία είναι υπό ανάπτυξη από το Εργαστήριο Υπολογιστικής Βιοϊατρικής του Ινστιτούτου Πληροφορικής του Ίδρυματος Τεχνολογίας και Έρευνας σε συνεργασία με το Πανεπηστήμιο Πάτρας για την κατασκευή και αποθήκευση ροών εργασίας που μπορούν να συνθέσουν πολλά εργαλεία ή ροές εργασίας. Αυτή η πλατφόρμα έχει ως στόχο την μεγιστοποίηση της αναπαραγωγιμότητας και την ενοποίηση κοινωτήτων της Βιοπληροφορικής. Η ροή εργασίας αναπτύσσετε χρησιμοποιώντας BASH εντολές η οποίες είναι λειτουργικές είτε σε τεχνολογίες container ή σε περιβάλλοντα εκτέλεσης ροών εργασίας. Στην εν λόγω πτυχιακή εργασία, εξετάσαμε τον τρόπο με τον οποίο μπορούμε να ενσωματώσουμε στην πλατφόρμα OpenBio ένα περιβάλλον εκτέλεσης που εκτελείται σε εικονικό container μέσω ενός τοπικού υπολογιστή, cluster ή cloud. Με αυτήν την λειτουργία, οι χρήστες μπορούν να διαχειριστούν πολλές ροές εργασίας, να παρακολουθήσουν τη χρήση των πόρων οι οποίοι καταναλώνονται από το σύστημα κατά την διάρκεια μίας εκτέλεση, οι οποίες μπορούν να συμβάλλουν στην επίτευξη κλιμάκωσης ή βελτιστοποίησης χρήσης πόρων. Στα πλαίσια της εργασίας αυτής, δοκιμάσαμε διάφορα συστήματα διαχείρισης ροών εργασίας και εργαλείων παρακολούθησης πόρων. Αυτή η προσεκτική αξιολόγηση είχε ως αποτέλεσμα την ακόλουθη σειρά εργαλείων. Το AirFlow το οποίο είναι ο μηχανισμός για την εκτέλεση των ροών εργασίας (Workflow Management System), το NetData για την παρακολούθηση πόρων και ένας διακομιστής που γράφτηκε σε Python Flask και ενεργεί ως API για την επικοινωνία με την πλατφόρμα OpenBio. Όσον αφορά τον μηχανισμό εκτέλεσης, το Airflow δεν είναι το μόνο εργαλείο που θα μπορεί να ενσωματωθεί μέσα στο περιβάλλον, καθώς σκοπός είναι το σύστημα είναι συμβατό με πολλαπλούς μηχανισμούς εκτέλεσης ροών εργασίας. Επίσης, χρησιμοποιήθηκε το Docker-Compose για οργάνωση των containers για την καλύτερη επικοινωνία και διαλειτουργικότητα μεταξύ των εργαλείων αυτών. Η πλατφόρμα OpenBio σε συνεργασία με το περιβάλλον εκτέλεσης παρέχει: (1) μια διεπαφή χρήστη(User Interface) που επιτρέπει στους χρήστες την δημιουργία, επεξεργασία, επεκτασιμότητα και αποθήκευση σύνθετων ροών εργασίας χωρίς την ανάγκη επιπλέον γνώσεων προγραμματισμού (παρά μόνο τις απαραίτητες γνώσεις BASH scripting) χρησιμοποιώντας την πλατφόρμα OpenBio, (2) φιλικό προς το χρήστη σύστημα παρακολούθησης πόρων σε πραγματικό χρόνο, (3) αυτόματη δημιουργία αναφορών με αποτελέσματα και αρχείων καταγραφής κατά την διάρκεια της εκτέλεσης, (4) φορητότητα σε κατανεμημένα υπολογιστικά περιβάλλοντα όπως clusters και clouds με δυνατότητα δημιουργίας πολλαπλών παρουσιών με την χρήση των containers. Στην παρούσα πτυχιακή εργασία, αναγράφονται τα εργαλεία τα οποία χρησιμοποιήθηκαν για την ανάπτυξη του περιβάλλοντος εκτέλεσης, η αρχιτεκτονική αυτού, αναλυτικές οδηγίες για την εγκατάσταση του περιβάλλοντος εκτέλεσης σε οποιοδήποτε σύστημα και ένα παράδειγμα εκτέλεσης μία επιστημονικής ουράς εργασίας με μετρήσεις εκτέλεσης ενός παραδείγματος ως προς τον χρόνο και σύγκριση με άλλους τρόπους εκτέλεσης. Συνολικά, το περιβάλλον εκτέλεσης το οποίο αναπτύχθηκε για να ενσωματοθεί στην πλατφόρμα OpenBio για να διευκολύνει τους χρήστες στην εκτέλεση πολύπλοκών επιστημονικών ροών εργασίας. Ωστόσω, ο τρόπος ο οποίος αναπτύχθηκε όλο το σύστημα μπόρει εύκολα να ενσωματωθεί σε οποιαδήποτε πλατφόρμα με τις κατάλληλες παραμετροποιήσεις.el
dc.languageΑγγλικάel
dc.languageEnglishen
dc.publisherΕΛ.ΜΕ.ΠΑ., ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ (ΣΜΗΧ), Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστώνel
dc.publisherΗ.Μ.U, School of Engineering (ScENG), Electrical and Computer Engineering Depten
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 United States*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/us/*
dc.titleImplementation of a federated workflow execution engine for life sciences through virtualization services.en
dc.titleΣύστημα διαχείρισης επιστημονικών ροών με τη χρήση τεχνικών εικονικού υπολογισμού (virtualization software).el

Στοιχεία healMeta

heal.creatorNameKoutoulakis, Emmanouilen
heal.creatorNameΚουτουλάκης, Εμμανουήλel
heal.publicationDate2020-09-22
heal.identifier.primaryhttp://hdl.handle.net/20.500.12688/9638
heal.abstractWorkflows are widely used abstractions for the representation of large scientific applications that also ease their execution on distributed systems such as clusters, clouds, and grids. However, workflow systems are mainly agnostic on the environment on which each task of the workflow is expected to run. As a result, a workflow may run correctly in the environment in which it was designed, but then moved to another environment, it is likely to fail due to differences in the operating systems, installed applications, library versions, available data, and other dependencies. This factor is a major issue in life sciences. Lightweight container technologies like Docker have recently arisen as a solution to this problem by providing a well-defined execution environment at the operating system level. OpenBio (https://www.openbio.eu) is a web-based workflow platform that can compose multiple tools or workflows in one and aims to maximize reproducibility. In this thesis, we consider how to best integrate the OpenBio platform with an Execution Environment running in a virtual container. With this abstraction, users can manage multiple workflows, monitor the use of their resources, which can help achieve scalability and optimal resource utilization. Several platforms currently exist that design and execute sophisticated pipelines (e.g Galaxy [7], Luigi [8], Nextflow [9]). The main drawback of these platforms is the lack of the necessary parallelism, flexibility, and portability. In this thesis, we test a variety of workflow management systems and resource monitoring tools. This careful evaluation resulted in the following stack of tools. AirFlow is used for Workflow Execution, NetData used for resource monitoring, and a client written that uses Python Flask acts as an API for interface monitoring. Also, we leverage Docker-Compose to orchestrate the communication and interoperability between these tools. AirFlow was used due to its ability to treat scientific pipelines in a simple, portable, reproducible, and scalable manner, mainly by modeling them as DAGs (Directed Acyclic Graphs). AirFlow and NetData both are configured in accordance with the Execution Environment prerequisites. OpenBio Platform with the collaboration of the Execution Environment provides; (1) a drag and drop user interface using OpenBio platform for pipeline composition that allows users to create complex pipelines without familiarity in underlying programming languages, (2) User-friendly monitoring system, (3) automatic report generation with results and processing logs and (4) portability towards distributed computing environments such as cluster, grid, and cloud with the ability to generate multiple instances.en
heal.abstractΟι ροές εργασίας χρησιμοποιούνται ευρέως για την αναπαράσταση μεγάλων επιστημονικών εφαρμογών που διευκολύνουν την εκτέλεση τους σε κατανεμημένα συστήματα όπως clusters ή cloud. Ωστόσο, τα συστήματα ροής εργασίας είναι άγνωστα ως προς το περιβάλλον στο οποίο αναμένεται να εκτελεστεί κάθε βήμα της ροής εργασίας. Ως αποτέλεσμα, μια ροή εργασίας μπορεί να εκτελεστεί σωστά στο περιβάλλον στο οποίο σχεδιάστηκε, αλλά στη συνέχεια εκτελώντας την σε άλλο περιβάλλον, είναι πιθανό να αποτύχει λόγω διαφορών στο λειτουργικό σύστημα, τις εγκατεστημένες εφαρμογές, τις εκδόσεις βιβλιοθήκης, τα διαθέσιμα δεδομένα και άλλες εξαρτήσεις του περιβάλλοντος. Αυτός ο παράγοντας είναι ένα σημαντικό εμπόδιο στην βιοπληροφορική και γενικότερα στις επιστήμες δεδομένων. Οι τεχνολογίες container όπως το Docker προέκυψαν πρόσφατα ως λύση σε αυτό το πρόβλημα παρέχοντας ένα καθορισμένο περιβάλλον εκτέλεσης σε επίπεδο λειτουργικού συστήματος. Με την χρήση αυτών των τεχνολογιών, μία πολύπλοκη ροή εργασίας μπορεί να εκτελεσθεί σε ένα απομονωμένο περιβάλλον στο οποίο ενσωματώνονται όλα τα απαραίτητα εργαλεία και βιβλιοθήκες για να πραγματοποιηθεί η εκτέλεση. Πιο συγκεκριμένα, τα Containers λειτουργούν ως ένα ελαφρύ ανεξάρτητο λειτουργικό σύστημα μέσα στο υπάρχων σύστημα το οποίο μπορούμε να το επεξεργαστούμε εύκολα και γρήγορα χωρίς τον φόβο για οποιαδήποτε καταστροφή στο σύστημα φιλοξενίας του. Η ευελιξία και η φορητότητα είναι σημαντικά προβλήματα στην εκτέλεσης μίας επιστημονικής ροής εργασίας. Υπάρχουν πολλές αξιόλογες πλατφόρμες που σχεδιάζουν και εκτελούν αυτές τις ροές. Κάθε μία εξ ’αυτών έχει την δική της γλώσσα-τρόπο για την αναπαράσταση μιας ροής εργασίας. Ως εκ τούτου, μία ροή εργασίας η οποία έχει αναπαραχθεί σε μία συγκεκριμένη πλατφόρμα εκτέλεσης δεν μπορεί να εκτελεσθεί σε διαφορετική πλατφόρμα λόγο της διαφορετικής γλώσσας η οποία χρησιμοποιήθηκε για την παραγωγή της. Κύριο αποτέλεσμα αυτού, είναι να απαιτείται από τον εκάστοτε χρήστη, εξειδικευμένη γνώση για την ανάπτυξη και την επεξεργασία μιας ροής εργασίας. Επιπλέον, οι πλατφόρμες αυτές δεν είναι συνδεδεμένες με κάποιο αποθετήριο έτσι ώστε να γίνετε άμεσα η εκτέλεση και η εξαγωγή αποτελεσμάτων μία ροής εργασίας με αυτού, το οποίο είναι ακόμα ένα μείζον πρόβλημα για την διαλειτουργικότητα μιας επιστημονικής ροή εργασίας. Το OpenBio (https://www.openbio.eu) είναι μια διαδικτυακή πλατφόρμα η οποία είναι υπό ανάπτυξη από το Εργαστήριο Υπολογιστικής Βιοϊατρικής του Ινστιτούτου Πληροφορικής του Ίδρυματος Τεχνολογίας και Έρευνας σε συνεργασία με το Πανεπηστήμιο Πάτρας για την κατασκευή και αποθήκευση ροών εργασίας που μπορούν να συνθέσουν πολλά εργαλεία ή ροές εργασίας. Αυτή η πλατφόρμα έχει ως στόχο την μεγιστοποίηση της αναπαραγωγιμότητας και την ενοποίηση κοινωτήτων της Βιοπληροφορικής. Η ροή εργασίας αναπτύσσετε χρησιμοποιώντας BASH εντολές η οποίες είναι λειτουργικές είτε σε τεχνολογίες container ή σε περιβάλλοντα εκτέλεσης ροών εργασίας. Στην εν λόγω πτυχιακή εργασία, εξετάσαμε τον τρόπο με τον οποίο μπορούμε να ενσωματώσουμε στην πλατφόρμα OpenBio ένα περιβάλλον εκτέλεσης που εκτελείται σε εικονικό container μέσω ενός τοπικού υπολογιστή, cluster ή cloud. Με αυτήν την λειτουργία, οι χρήστες μπορούν να διαχειριστούν πολλές ροές εργασίας, να παρακολουθήσουν τη χρήση των πόρων οι οποίοι καταναλώνονται από το σύστημα κατά την διάρκεια μίας εκτέλεση, οι οποίες μπορούν να συμβάλλουν στην επίτευξη κλιμάκωσης ή βελτιστοποίησης χρήσης πόρων. Στα πλαίσια της εργασίας αυτής, δοκιμάσαμε διάφορα συστήματα διαχείρισης ροών εργασίας και εργαλείων παρακολούθησης πόρων. Αυτή η προσεκτική αξιολόγηση είχε ως αποτέλεσμα την ακόλουθη σειρά εργαλείων. Το AirFlow το οποίο είναι ο μηχανισμός για την εκτέλεση των ροών εργασίας (Workflow Management System), το NetData για την παρακολούθηση πόρων και ένας διακομιστής που γράφτηκε σε Python Flask και ενεργεί ως API για την επικοινωνία με την πλατφόρμα OpenBio. Όσον αφορά τον μηχανισμό εκτέλεσης, το Airflow δεν είναι το μόνο εργαλείο που θα μπορεί να ενσωματωθεί μέσα στο περιβάλλον, καθώς σκοπός είναι το σύστημα είναι συμβατό με πολλαπλούς μηχανισμούς εκτέλεσης ροών εργασίας. Επίσης, χρησιμοποιήθηκε το Docker-Compose για οργάνωση των containers για την καλύτερη επικοινωνία και διαλειτουργικότητα μεταξύ των εργαλείων αυτών. Η πλατφόρμα OpenBio σε συνεργασία με το περιβάλλον εκτέλεσης παρέχει: (1) μια διεπαφή χρήστη(User Interface) που επιτρέπει στους χρήστες την δημιουργία, επεξεργασία, επεκτασιμότητα και αποθήκευση σύνθετων ροών εργασίας χωρίς την ανάγκη επιπλέον γνώσεων προγραμματισμού (παρά μόνο τις απαραίτητες γνώσεις BASH scripting) χρησιμοποιώντας την πλατφόρμα OpenBio, (2) φιλικό προς το χρήστη σύστημα παρακολούθησης πόρων σε πραγματικό χρόνο, (3) αυτόματη δημιουργία αναφορών με αποτελέσματα και αρχείων καταγραφής κατά την διάρκεια της εκτέλεσης, (4) φορητότητα σε κατανεμημένα υπολογιστικά περιβάλλοντα όπως clusters και clouds με δυνατότητα δημιουργίας πολλαπλών παρουσιών με την χρήση των containers. Στην παρούσα πτυχιακή εργασία, αναγράφονται τα εργαλεία τα οποία χρησιμοποιήθηκαν για την ανάπτυξη του περιβάλλοντος εκτέλεσης, η αρχιτεκτονική αυτού, αναλυτικές οδηγίες για την εγκατάσταση του περιβάλλοντος εκτέλεσης σε οποιοδήποτε σύστημα και ένα παράδειγμα εκτέλεσης μία επιστημονικής ουράς εργασίας με μετρήσεις εκτέλεσης ενός παραδείγματος ως προς τον χρόνο και σύγκριση με άλλους τρόπους εκτέλεσης. Συνολικά, το περιβάλλον εκτέλεσης το οποίο αναπτύχθηκε για να ενσωματοθεί στην πλατφόρμα OpenBio για να διευκολύνει τους χρήστες στην εκτέλεση πολύπλοκών επιστημονικών ροών εργασίας. Ωστόσω, ο τρόπος ο οποίος αναπτύχθηκε όλο το σύστημα μπόρει εύκολα να ενσωματωθεί σε οποιαδήποτε πλατφόρμα με τις κατάλληλες παραμετροποιήσεις.el
heal.languageΑγγλικάel
heal.languageEnglishen
heal.academicPublisherΕΛ.ΜΕ.ΠΑ., ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ (ΣΜΗΧ), Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστώνel
heal.academicPublisherΗ.Μ.U, School of Engineering (ScENG), Electrical and Computer Engineering Depten
heal.titleImplementation of a federated workflow execution engine for life sciences through virtualization services.en
heal.titleΣύστημα διαχείρισης επιστημονικών ροών με τη χρήση τεχνικών εικονικού υπολογισμού (virtualization software).el
heal.typeΠτυχιακή Εργασίαel
heal.typeBachelor thesisen
heal.keywordworkflow, execution environment, virtualizationen
heal.keywordροή εργασίας, περιβάλλον εκτέλεσης, εικονικοποίησηel
heal.accessfreeel
heal.advisorNameTsiknakis, Emmanouilen
heal.advisorNameΤσικνάκης, Εμμανουήλel
heal.academicPublisherIDΕΛ.ΜΕ.ΠΑ. Ελληνικό Μεσογειακό Πανεπιστήμιοel
heal.academicPublisherIDΗ.Μ.U Hellenic Mediterranean University‎en
heal.fullTextAvailabilitytrueel
tcd.distinguishedfalseel
tcd.surveyfalseel


Αρχεία σε αυτό το τεκμήριο

Thumbnail
Thumbnail

Αυτό το τεκμήριο εμφανίζεται στις ακόλουθες συλλογές

Εμφάνιση απλής εγγραφής

Attribution-NonCommercial-NoDerivs 3.0 United States
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 United States