Συντάχθηκε 09-03-2015 11:01
από Esthir Gelasaki
Email συντάκτη: egelasaki<στο>tuc.gr
Ενημερώθηκε:
-
Ιδιότητα: υπάλληλος.
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
Σχολή Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών
Πρόγραμμα Προπτυχιακών Σπουδών
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
ΑΝΔΡΕΑ ΓΡΑΜΜΕΝΟΥ
με θέμα
NeuralStream: Ένα κατανεμημένο περιβάλλον για Online ανίχνευση μοτίβων σε πολλαπλές ροές χρονοσειρών
NeuralStream: A Distributed framework for online pattern discovery in multiple streaming time-series
Δευτέρα 9 Μαρτιου 2015, 2:30μμ
Αίθουσα 2042, Κτίριο Επιστημών, Πολυτεχνειούπολη
Εξεταστική Επιτροπή
Καθηγητής Μίνως Γαροφαλάκης (επιβλέπων)
Επίκουρος Καθηγητής Βασίλης Σαμολαδάς
Αναπληρωτής Καθηγητής Αντώνης Δελιγιαννάκης
Περίληψη
Η ανάπτυξη ενός scalable, streaming, γρήγορου και ευέλικτου framework για να κάνουμε online αναγνώριση μοτίβων ανάμεσα σε χιλιάδες ροές δεδομένων είναι πολύ επιθυμητό. Αυτό είναι πολύ ορατό σήμερα καθώς οι χρήσεις για να παρακολουθούμε και να αναλύουμε χιλιάδες ροές δεδομένων σε πραγματικό χρόνο ενώ παράλληλα μπορούμε να πάρουμε μετρικά από αυτές έχουν πολλαπλασιαστεί. Για να μπορέσουμε να κάνουμε scale τον υπολογισμό αυτών πέραν του ενός υπολογιστικού κόμβου πρέπει να βρούμε ένα τρόπο για να χωρίσουμε το τεράστιο υπολογιστικό φορτίο ανάμεσα σε όλους τους κόμβους που έχουμε στην διάθεση μας όσο ποιο ισοδύναμα γίνεται ενώ διατηρούμε την σωστότατα του αλγορίθμου μας. Όπως είναι λογικό αυτό δεν είναι πάντα εύκολο ειδικά εάν πάρουμε υπόψιν μας το domain της κάθε εφαρμογής.
Μέσω αυτής της διπλωματικής εργασίας ο συγγραφέας προσπαθεί να αντιμετωπίσει αυτό το πρόβλημα προχωρώντας το ήδη υπάρχων αλγοριθμικό background. Αυτό καθιστάτε δυνατό συνδυάζοντας και βελτιώνοντας ήδη υπάρχουσες μεθόδους έτσι ώστε να αντιμετωπίσουμε ικανοποιητικά το πρόβλημα ενώ παρέχουμε ένα ευέλικτο περιβάλλον που οι άλλοι χρήστες μπορούν να χρησιμοποιήσουν για να μπορέσουν να παρακολουθήσουν χιλιάδες ροές δεδομένων. Μέσω του NeuralStream κάποιος μπορεί να βρει τα representative trends από όλες τις ροές ενώ μπορούμε να παρακολουθήσουμε και τις ροές κάθε κόμβου ξεχωριστά. Χάρη στην αρχιτεκτονική του το framework είναι πολύ robust ενώ μπορεί ταυτόχρονα να παρέχει processing guarantees στην περίπτωση πολλών απανωτών βλαβών κόμβων. Ακόμα μπορεί να κάνει scale πολύ καλά και να χωρίσει βέλτιστα το φορτίο των ροών σε όλους τους διαθεσίμους κόμβους. Το τελικό aggregation των μοτίβων με βάση τις προτιμήσεις του χρήστη αποθηκεύονται και ανανεώνονται από την εφαρμογή σε πραγματικό χρόνο μέσω ενός web-interface το οποίο και τα δείχνει.
Abstract
Developing a scalable, streaming, fast and flexible framework for online pattern discovery
amongst thousands of streams is highly desirable. This is especially evident today since
multiple use cases have surfaced for monitoring and analyzing thousands of data-streams
in real time while retrieving accurate and reliable metrics from them in a timely manner.
In order to scale the computation beyond what a single node can do we have to find a
way to split and distribute the vast computational load amongst all the nodes as evenly
as possible while maintaining the correctness of our algorithm. As one might think
this is not always a trivial task, especially when taking in account the domain of each
application.
Through this diploma thesis the author tries to tackle the aforementioned problem by
advancing the already existing algorithmic domain. This is achieved by expanding on
the already available methods to sufficiently address this problem as well as provide
a usable and flexible framework called NeuralStream that other users can employ to
perform real-time monitoring of thousands of streams. Through NeuralStream one can
find the representative trends in all of the streams while also offering the flexibility
to monitor the streams of each node independently. Thanks to its architecture our
framework is extremely robust while also being able to provide processing guarantees in
case of multiple node failures; it can also scale extremely well and can optimally split
the load given the amount of streams to monitor and the number of available compute
nodes in the cluster. The final aggregation of patterns depending on the user preferences
is stored and updated by the application, in real-time through a web interface that can
be used for displaying charts with the representative trends that exist currently in the
monitored streams.
Περίληψη της εργασίας στα Αγγλικά.