SlideShare une entreprise Scribd logo
1  sur  19
Παράλληλη υλοποίηση του αλγορίθμου
MCL με χρήση πόρων του Cloud
Επιβλέπων καθηγητής : Περικλής Α ΜήτκαςΆγγελος Καλτσίκης
1
16/03/2017
Δομή παρουσίασης
 Στόχος της διπλωματικής
 Θεωρητικό υπόβαθρο
 Μεθοδολογία και πολυπλοκότητα προγράμματος
 Αποτελέσματα
 Συμπεράσματα
 Μελλοντικές επεκτάσεις
19 Διαφάνειες
2
16/03/2017
Στόχος της εργασίας
Ανάπτυξη ενός προγράμματος που θα υλοποιεί τον Markov Cluster Algorithm (MCL) σε
κατανεμημένο περιβάλλον.
 Cloud vs. Grid?
 Cloud επειδή επιτρέπει εύκολη προσαρμογή των υπολογιστικών πόρων
 Το πρόγραμμα:
 θα εκτελεί την ομαδοποίηση των στοιχείων σε οσοδήποτε μεγάλο όγκο δεδομένων
 θα παρέχει αποτελέσματα σε κατανοητή και βολική μορφή για το χρήστη
 θα έχει φιλική διεπαφή
 θα μειώσει το συνολικό χρόνο εκτέλεσης της ομαδοποίησης μεγάλων σετ δεδομένων
3
16/03/2017
Θεωρητικό Υπόβαθρο
 Τι είναι το clustering (ομαδοποίηση);
 Clustering είναι η μέθοδος με την οποία τα αντικείμενα ενός συνόλου δεδομένων
οργανώνονται σε ομάδες ανάλογα με το βαθμό ομοιότητας τους
 Γιατί η ομαδοποίηση πρωτεϊνών είναι σημαντική για τη Βιοπληροφορική;
 Πρωτεΐνες με άγνωστη λειτουργία συσχετίζονται με πρωτεΐνες με γνωστές
ιδιότητες και λειτουργία
 Γιατί πρέπει το πρόγραμμα να εκτελείται σε κατανεμημένο περιβάλλον;
 Η Βιοπληροφορική είναι πλέον ένα Big Data Domain
 Ρυθμοί αύξησης των δεδομένων >> Ρυθμοί αύξησης της υπολογιστικής ισχύος
4
16/03/2017
5
Δυνατότητες MPI/OpenMP Apache Hadoop Apache Spark CUDA
Ανεξάρτητο από ειδικό
Hardware
✔ ✔ ✔ ✘
Υποστήριξη Big Data ✔ ✔ ✔ ✘
Αξιοποίηση Μεγέθους
Σύγχρονων Σκληρών
Δίσκων
✔ ✔ ✔ ✘
Αξιοποίηση Ταχύτητας
Σύγχρονων Μνημών RAM
✔ ✘ ✔ ✔
Διανεμημένο Σύστημα
Αποθήκευσης Αρχείων
✘ ✔ ✔ (HDFS) ✘
Απόδοση
(το 1 είναι το πιο γρήγορο
γρήγορο σύστημα)
2 4 3 1
Έλεγχός Υποδομής σε
Διανεμημένα Συστήματα
✘ ✔ ✔ ✘
Αντιμετώπιση σφαλμάτων ✘ ✔ ✔ ✘
Distributed
Computing
Frameworks
APACHE SPARK IT IS!
16/03/2017
Markov Cluster Algorithm (MCL)
6
16/03/2017
Regularized MCL
7
16/03/2017
Περιγραφή υλοποιήσεων
 MCL
 Η υλοποίηση του αλγορίθμου έγινε σε SCALA με τη χρήση του API και των δομών δεδομένων του Apache Spark
 Εισήχθη μια απλοϊκή (naïve) συνάρτηση για την εκμετάλλευση του αραιού χαρακτήρα πινάκων στο διανεμημένο
πολλαπλασιασμό πινάκων
 R-MCL
 Η υλοποίηση του αλγορίθμου έγινε σε Python με τη χρήση του API του Apache Spark
 Για την υλοποίηση του αλγορίθμου χρησιμοποιήθηκαν οι εξής βιβλιοθήκες:
1. SciPy
2. Pandas
3. NetworkX
8
16/03/2017
9
Χρησιμοποιώντας το Apache
Spark στο μέγιστο
• Αλλαγή σειράς πράξεων
• Έλεγχος σύγκλισης μετά την 5η επανάληψη
• Αλλαγή Blocksize και Partitionsize
Στο κύριο επαναληπτικό κομμάτι του αυθεντικού MCL τα βήματα είναι:
EXPAND → INFLATΙΟΝ → NORMALIZATION → PRUNING → NORMALIZATION
Προτεινόμενο κύριο επαναληπτικό κομμάτι του τροποποιημένου MCL:
EXPAND → PRUNING → INFLATION → NORMALIZATION 16/03/2017
10
Πολυπλοκότητα
• Ο MCL χωρίς τροποποιήσεις απαιτεί:
𝑶 𝑵 𝟑
• Υλοποίηση MCL σε SCALA για την παρούσα διπλωματική εργασία:
𝑶 𝒂 𝟐
∗ 𝑵 𝟑
• Υλοποίηση R-MCL σε Python για την παρούσα διπλωματική εργασία:
𝑶 𝒕 ∗ 𝒔 ∗ 𝑵 𝟑
Όπου
Πίνακας εισόδου διαστάσεων NxN
Ν: αριθμός γραμμών πίνακα εισόδου
a: πυκνότητα πίνακα που προκύπτει σε κάθε
επανάληψη
t: πυκνότητα πίνακα που προκύπτει σε κάθε
επανάληψη
s: πυκνότητα αρχικού στοχαστικού πίνακα
Πυκνότητα Πί𝜈𝛼𝜅𝛼 =
𝛼𝜌𝜄𝜃𝜇ό𝜍 𝜇𝜂 𝜇𝜂𝛿𝜀𝜈𝜄𝜅ώ𝜈 𝜎𝜏𝜊𝜄𝜒𝜀ί𝜔𝜈
𝛼𝜌𝜄𝜃𝜇ό𝜍 𝛾𝜌𝛼𝜇𝜇ώ𝜈 ∗ 𝛼𝜌𝜄𝜃𝜇ό𝜍 𝜎𝜏𝜂𝜆ώ𝜈
(Η Πυκνότητα στην περίπτωση μας παίρνει
τιμές <<1)
16/03/2017
11
Περιγραφή Datasets και αποτελεσμάτων
clustering του MCL με SCALA MCL
2ο Dataset:
1ο Dataset:
3ο Dataset:
 Πειράματα με πραγματικά δεδομένα
SampleData 3ο Dataset 2ο Dataset
Ομάδες Αυθεντικού MCL (OG) 2,248 25,354 57,570
Ομάδες SCALA MCL (MOD) 2,394 27,959 65,703
SampleData:
Αριθμός cluster που προκύπτουν σε διάφορα datasets από
τον αυθεντικό MCL και τον MCL SCALA
16/03/2017
Normal File Size: 722.9KB
NNZ: 16,466
Matrix Dimensions: 3,7752
Normal File Size: 8.3GB
NNZ: 142,298,957
Matrix Dimensions: 1,908,1422
Normal File Size: 1.7GB
NNZ: 29,425,239
Matrix Dimensions: 357,8742
Normal File Size: 948.8MB
NNZ: 16,424,393
Matrix Dimensions: 186,1902
12 Επαλήθευση αποτελεσμάτων clustering του MCL
SCALA SampleData 3ο Dataset 2ο Dataset
Αριθμός ίδιων cluster αναμεσά στις δυο υλοποιήσεις 2,120 23,380 51,477
Αριθμός στοιχείων που περιέχουν τα ίδια cluster 3,216 104,442 167,968
Αριθμός Singletons σε OG / MOD / κοινά σε OG &
MOD
1,672/1,837/1,672 15,599/17,337/15,598 34,278/39,760/34,271
Αριθμός cluster που δεν είναι ίδια σε OG / MOD 128/274 1,974/4,579 6,093/14,226
Αριθμός cluster του OG που μπορούν να
δημιουργηθούν με τον αριθμό singletons του MOD
48/165 99/1,739 233/5,489
Μέσος αριθμός singletons που συνδυάστηκαν και ο
αριθμός των στοιχείων που απομένουν
3.4375/394 17.5656/80,009 23.5579/184,417
Αριθμός cluster του OG που μπορούν να
αναδημιουργηθούν ακριβώς χρησιμοποιώντας cluster
του MOD (OG/MOD)
36/54 547/1,330 1,494/4,003
Αριθμός των cluster του OG που δεν μπορούν να
αναδημιουργηθούν ακριβώς με τα cluster του MOD
και ο αριθμός των στοιχείων που περιέχουν αυτά.
44/55/249 1,328/1,510/66,090 4,366/4,734/155,397
Ποσοστό επιτυχίας σχεδιασμού των cluster του OG
που δεν μπορούν να δημιουργηθούν ακριβώς με τα
cluster που έχουν μείνει στο MOD
98.80% 84.90% 82.08%
Συνολικό ποσοστό στοιχείων που βρίσκονται στα σωστά
cluster
99.92% 94.64% 92.22%
16/03/2017
Αποτελέσματα
13
1289
843
653
713
825
0
500
1000
1500
seconds
Hardware Configurations
3ο Dataset
2166
1328
1019 1107 1247
0
1000
2000
3000
seconds
Hardware Configurations
2ο Dataset
12 CPU Cores - 2 Executors
24 CPU Cores - 4 Executors
30 CPU Cores - 5 Executors
60 CPU Cores - 10 Executors
32 CPU Cores - 4 Executors - Different Settings
12 CPU
Cores - 2
Executors,
88357
30 CPU
Cores - 5
Executors,
15372
60 CPU
Cores - 10
Executors,
8141
0
20000
40000
60000
80000
100000
seconds
Hardware Configurations
1ο Dataset
Συνολικός χρόνος εκτέλεσης (seconds)
του MCL SCALA για κάθε Hardware
Configuration σε κάθε Dataset.
16/03/2017
1
10
100
1000
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
seconds
Iterations
3ο Dataset
1
10
100
1000
10000
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
seconds
Iterations
2ο Dataset
12 CPU Cores - 2 Executors
24 CPU Cores - 4 Executors
30 CPU Cores - 5 Executors
60 CPU Cores - 10 Executors
1
10
100
1000
10000
100000
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 20 21 25 26 27 28 29 30 31 32 33
seconds
Iterations
1ο Dataset
14
Σύγκριση χρόνου εκτέλεσης κάθε
επανάληψης του MCL SCALA για κάθε
Hardware Configuration σε κάθε Dataset.
Λογαριθμική κλίμακα με βάση το 10
16/03/2017
Σύγκριση μετρήσεων R-MCL Python, MCL
SCALA και Original MCL
16/03/2017
15
Dataset R-MCL
Python
MCL SCALA Original
MCL
2nd 48,121 65,703 57,570
3rd 22,314 27,959 25,354
Dataset R-MCL Python MCL SCALA
2nd 307.23 653.94
3rd 609.75 1,019.75
 Αριθμός cluster που προκύπτουν από κάθε
αλγόριθμο
 Χρόνος εκτέλεσης σε seconds του R-
MCL & MCL SCALA
 O R-MCL Python δημιουργεί τα λιγότερα cluster  O R-MCL Python είναι πιο
γρήγορος από τον MCL SCALA
Σύμφωνα με θεωρία:
 O R-MCL δημιουργεί ποιοτικότερα cluster
16
HWC1 HWC2 HWC3 HWC4 HWC5
Matrix-
100000-
0.0001 0.107497 0.14015556 0.14676667 0.354884 0.1543694
Matrix-
100000-
0.001 0.608685 0.68491111 0.68464667 0.879939 0.6558222
Matrix-
1000000-
0.00001 1.206065 1.10570833 0.9896833 1.385358 1.7456638
3rd Dataset
0.255652 0.27865833 0.25902333 0.518509 0.2727083
2nd Dataset
0.42959 0.43897778 0.4042033 0.805035 0.4122027
1st Dataset
17.52414
-
6.09756 5.920316
-
 Συνολικό κόστος ($) για την ομαδοποίηση κάθε Dataset γ
κάθε Hardware Configuration
Τα Hardware Configurations (HWC) αντιστοιχούν στους παρακάτω
υπολογιστικούς πόρους:
1. 20 CPU πυρήνες – 48 GB RAM – 480 GB SSD
2. 36 CPU πυρήνες – 80 GB RAM – 800 GB SSD
3. 44 CPU πυρήνες – 96 GB RAM – 960 GB SSD
4. 84 CPU πυρήνες – 176 GB RAM – 1.76 TB SSD
5. 40 CPU πυρήνες – 80 GB RAM – 800 GB SSD
HWC1 HWC2 HWC3 HWC4 HWC5
Cost ($)
Per
Hour
0.714 1.19 1.428 2.618 1.19
 Κόστος ενοικίασης ($) κάθε Hardware
Configuration ανά ώρα
 Τα resources ενοικιάστηκαν από την
16/03/2017
Γιατί όχι ;
 Κομβόι με μνήμη RAM ≤ 8GB
 Πολύ αργοί υπολογιστικοί πυρήνες
Συμπεράσματα
17
 Η προσφορά αυτής της διπλωματικής είναι η Distributed computing και horizontally
scalable υλοποίηση του αλγορίθμου MCL
 Το πρόγραμμα λειτουργεί για οσοδήποτε μεγάλο γράφο εισόδου
 Ο χρόνος εκτέλεσης του προγράμματος επηρεάζεται από το μέγεθος του γράφου εισόδου και
από τους διαθέσιμους υπολογιστικούς πόρους
 Πιο φθηνή λύση ανά ώρα ≠ πιο συμφέρουσα λύση
16/03/2017
Μελλοντικές Επεκτάσεις
18
¤ Εγγενής υποστήριξη διανεμημένου πολλαπλασιασμού πινάκων από το Apache Spark που
να εκμεταλλεύεται τις ιδιότητες των αραιών πινάκων
► Καλύτερη εκμετάλλευση της τοπικότητας των δεδομένων στις συναρτήσεων Normalize,
Pruning και Inflation
► Αυτόματη ρύθμιση των παραμέτρων εισόδου μέσω τεχνικής βελτιστοποίησης
υπερπαραμέτρων με τη χρήση είτε γενετικών αλγορίθμων είτε Particle Swarm Optimization
αλγορίθμων
► Αυτόματη ρύθμιση των διαθέσιμων υπολογιστικών πόρων ανάλογα με το εκάστοτε
πρόβλημα
► Δυναμική αλλαγή των διαθέσιμων υπολογιστικών πόρων ανάλογα με το ποσό απαιτητικό
είναι το σημείο του προγράμματος που εκτελείται
 Ανανέωση της υλοποίησης για τη σωστή λειτουργία σε Spark 2.x 16/03/2017
Τέλος
 Ευχαριστώ θερμά:
 τον καθηγητή Περικλή Α. Μήτκα
 τον μεταδιδακτορικό ερευνητή Φώτη Ε. Ψωμόπουλο
 τον υποψήφιο διδάκτορα Αθανάσιο Κιντσάκη
 τον Ohad Raviv και Joan André
 τους καθηγητές Ανδρέα Συμεωνίδη και Αναστάσιο Ντελόπουλο
 Εσάς για την προσοχή σας
 Ερωτήσεις;
16/03/2017

Contenu connexe

Similaire à Angelos kaltsikis

C2 2 microprocessor-cpu
C2 2 microprocessor-cpuC2 2 microprocessor-cpu
C2 2 microprocessor-cpupapettas
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...ISSEL
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...ISSEL
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
 
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...ISSEL
 
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...ISSEL
 
Design and implementation of a big data architecture for storage, real-time p...
Design and implementation of a big data architecture for storage, real-time p...Design and implementation of a big data architecture for storage, real-time p...
Design and implementation of a big data architecture for storage, real-time p...ISSEL
 
Καρβούνης Ευάγγελος
Καρβούνης Ευάγγελος Καρβούνης Ευάγγελος
Καρβούνης Ευάγγελος ISSEL
 
Creating an Open Archival Information System compliant archive for CERN
Creating an Open Archival Information System compliant archive for CERNCreating an Open Archival Information System compliant archive for CERN
Creating an Open Archival Information System compliant archive for CERNISSEL
 
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERN
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERNΔημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERN
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERNISSEL
 
Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254ISSEL
 
Konstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis PresentationKonstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis PresentationISSEL
 
System Development for Prediction of Static Analysis Metrics of Source Code
System Development for Prediction of Static Analysis Metrics of Source CodeSystem Development for Prediction of Static Analysis Metrics of Source Code
System Development for Prediction of Static Analysis Metrics of Source CodeISSEL
 
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...ISSEL
 
ΑΤΕΙ ΜΕΣΟΛΟΓΓΙΟΥΤΜΗΜΑ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ &ΔΙΚΤΥΩΝ.pdf
ΑΤΕΙ ΜΕΣΟΛΟΓΓΙΟΥΤΜΗΜΑ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ &ΔΙΚΤΥΩΝ.pdfΑΤΕΙ ΜΕΣΟΛΟΓΓΙΟΥΤΜΗΜΑ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ &ΔΙΚΤΥΩΝ.pdf
ΑΤΕΙ ΜΕΣΟΛΟΓΓΙΟΥΤΜΗΜΑ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ &ΔΙΚΤΥΩΝ.pdfHanaTiti
 
Αρχιτεκτονική του υπολογιστή κεφ3 Περίληψη.pdf
Αρχιτεκτονική του υπολογιστή κεφ3 Περίληψη.pdfΑρχιτεκτονική του υπολογιστή κεφ3 Περίληψη.pdf
Αρχιτεκτονική του υπολογιστή κεφ3 Περίληψη.pdfVasilisPigadas
 
Κεφ 3 - Υλικό - Εφαρμογές Υπολογιστών
Κεφ 3 - Υλικό - Εφαρμογές ΥπολογιστώνΚεφ 3 - Υλικό - Εφαρμογές Υπολογιστών
Κεφ 3 - Υλικό - Εφαρμογές Υπολογιστώνleftos21
 
VET4SBO Level 3 module 1 - unit 2 - 1.0 gr
VET4SBO Level 3   module 1 - unit 2 - 1.0 grVET4SBO Level 3   module 1 - unit 2 - 1.0 gr
VET4SBO Level 3 module 1 - unit 2 - 1.0 grKarel Van Isacker
 
Συλλογικοί Κατάλογοι & Διαδίκτυο
Συλλογικοί Κατάλογοι & ΔιαδίκτυοΣυλλογικοί Κατάλογοι & Διαδίκτυο
Συλλογικοί Κατάλογοι & ΔιαδίκτυοLevadia Library
 

Similaire à Angelos kaltsikis (20)

C2 2 microprocessor-cpu
C2 2 microprocessor-cpuC2 2 microprocessor-cpu
C2 2 microprocessor-cpu
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
 
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
 
Design and implementation of a big data architecture for storage, real-time p...
Design and implementation of a big data architecture for storage, real-time p...Design and implementation of a big data architecture for storage, real-time p...
Design and implementation of a big data architecture for storage, real-time p...
 
Καρβούνης Ευάγγελος
Καρβούνης Ευάγγελος Καρβούνης Ευάγγελος
Καρβούνης Ευάγγελος
 
Creating an Open Archival Information System compliant archive for CERN
Creating an Open Archival Information System compliant archive for CERNCreating an Open Archival Information System compliant archive for CERN
Creating an Open Archival Information System compliant archive for CERN
 
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERN
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERNΔημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERN
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERN
 
Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254
 
Konstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis PresentationKonstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis Presentation
 
System Development for Prediction of Static Analysis Metrics of Source Code
System Development for Prediction of Static Analysis Metrics of Source CodeSystem Development for Prediction of Static Analysis Metrics of Source Code
System Development for Prediction of Static Analysis Metrics of Source Code
 
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
 
ΑΤΕΙ ΜΕΣΟΛΟΓΓΙΟΥΤΜΗΜΑ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ &ΔΙΚΤΥΩΝ.pdf
ΑΤΕΙ ΜΕΣΟΛΟΓΓΙΟΥΤΜΗΜΑ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ &ΔΙΚΤΥΩΝ.pdfΑΤΕΙ ΜΕΣΟΛΟΓΓΙΟΥΤΜΗΜΑ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ &ΔΙΚΤΥΩΝ.pdf
ΑΤΕΙ ΜΕΣΟΛΟΓΓΙΟΥΤΜΗΜΑ ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ &ΔΙΚΤΥΩΝ.pdf
 
NW Afierwma Rack Servers_interview 384
NW Afierwma Rack Servers_interview 384NW Afierwma Rack Servers_interview 384
NW Afierwma Rack Servers_interview 384
 
Αρχιτεκτονική του υπολογιστή κεφ3 Περίληψη.pdf
Αρχιτεκτονική του υπολογιστή κεφ3 Περίληψη.pdfΑρχιτεκτονική του υπολογιστή κεφ3 Περίληψη.pdf
Αρχιτεκτονική του υπολογιστή κεφ3 Περίληψη.pdf
 
Κεφ 3 - Υλικό - Εφαρμογές Υπολογιστών
Κεφ 3 - Υλικό - Εφαρμογές ΥπολογιστώνΚεφ 3 - Υλικό - Εφαρμογές Υπολογιστών
Κεφ 3 - Υλικό - Εφαρμογές Υπολογιστών
 
VET4SBO Level 3 module 1 - unit 2 - 1.0 gr
VET4SBO Level 3   module 1 - unit 2 - 1.0 grVET4SBO Level 3   module 1 - unit 2 - 1.0 gr
VET4SBO Level 3 module 1 - unit 2 - 1.0 gr
 
Συλλογικοί Κατάλογοι & Διαδίκτυο
Συλλογικοί Κατάλογοι & ΔιαδίκτυοΣυλλογικοί Κατάλογοι & Διαδίκτυο
Συλλογικοί Κατάλογοι & Διαδίκτυο
 

Plus de ISSEL

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...ISSEL
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...ISSEL
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...ISSEL
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...ISSEL
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςISSEL
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...ISSEL
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...ISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...ISSEL
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...ISSEL
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνISSEL
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταISSEL
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...ISSEL
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ISSEL
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...ISSEL
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούISSEL
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςISSEL
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...ISSEL
 

Plus de ISSEL (20)

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environments
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...
 

Dernier

Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 10ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη στο 10ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008Θεόδωρος Μαραγκούλας
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx36dimperist
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx36dimperist
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx36dimperist
 
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 12ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη στο 12ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptxAthina Tziaki
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηTheodora Chandrinou
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxeucharis
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΧρύσα Παπακωνσταντίνου
 
Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψειςDimitra Mylonaki
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYEKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYssuser369a35
 
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της ΙταλίαςKonstantina Katirtzi
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑDimitra Mylonaki
 

Dernier (18)

Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 10ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
 
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 12ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
 
Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψεις
 
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
 
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYEKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
 
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
 

Angelos kaltsikis

  • 1. Παράλληλη υλοποίηση του αλγορίθμου MCL με χρήση πόρων του Cloud Επιβλέπων καθηγητής : Περικλής Α ΜήτκαςΆγγελος Καλτσίκης 1 16/03/2017
  • 2. Δομή παρουσίασης  Στόχος της διπλωματικής  Θεωρητικό υπόβαθρο  Μεθοδολογία και πολυπλοκότητα προγράμματος  Αποτελέσματα  Συμπεράσματα  Μελλοντικές επεκτάσεις 19 Διαφάνειες 2 16/03/2017
  • 3. Στόχος της εργασίας Ανάπτυξη ενός προγράμματος που θα υλοποιεί τον Markov Cluster Algorithm (MCL) σε κατανεμημένο περιβάλλον.  Cloud vs. Grid?  Cloud επειδή επιτρέπει εύκολη προσαρμογή των υπολογιστικών πόρων  Το πρόγραμμα:  θα εκτελεί την ομαδοποίηση των στοιχείων σε οσοδήποτε μεγάλο όγκο δεδομένων  θα παρέχει αποτελέσματα σε κατανοητή και βολική μορφή για το χρήστη  θα έχει φιλική διεπαφή  θα μειώσει το συνολικό χρόνο εκτέλεσης της ομαδοποίησης μεγάλων σετ δεδομένων 3 16/03/2017
  • 4. Θεωρητικό Υπόβαθρο  Τι είναι το clustering (ομαδοποίηση);  Clustering είναι η μέθοδος με την οποία τα αντικείμενα ενός συνόλου δεδομένων οργανώνονται σε ομάδες ανάλογα με το βαθμό ομοιότητας τους  Γιατί η ομαδοποίηση πρωτεϊνών είναι σημαντική για τη Βιοπληροφορική;  Πρωτεΐνες με άγνωστη λειτουργία συσχετίζονται με πρωτεΐνες με γνωστές ιδιότητες και λειτουργία  Γιατί πρέπει το πρόγραμμα να εκτελείται σε κατανεμημένο περιβάλλον;  Η Βιοπληροφορική είναι πλέον ένα Big Data Domain  Ρυθμοί αύξησης των δεδομένων >> Ρυθμοί αύξησης της υπολογιστικής ισχύος 4 16/03/2017
  • 5. 5 Δυνατότητες MPI/OpenMP Apache Hadoop Apache Spark CUDA Ανεξάρτητο από ειδικό Hardware ✔ ✔ ✔ ✘ Υποστήριξη Big Data ✔ ✔ ✔ ✘ Αξιοποίηση Μεγέθους Σύγχρονων Σκληρών Δίσκων ✔ ✔ ✔ ✘ Αξιοποίηση Ταχύτητας Σύγχρονων Μνημών RAM ✔ ✘ ✔ ✔ Διανεμημένο Σύστημα Αποθήκευσης Αρχείων ✘ ✔ ✔ (HDFS) ✘ Απόδοση (το 1 είναι το πιο γρήγορο γρήγορο σύστημα) 2 4 3 1 Έλεγχός Υποδομής σε Διανεμημένα Συστήματα ✘ ✔ ✔ ✘ Αντιμετώπιση σφαλμάτων ✘ ✔ ✔ ✘ Distributed Computing Frameworks APACHE SPARK IT IS! 16/03/2017
  • 6. Markov Cluster Algorithm (MCL) 6 16/03/2017
  • 8. Περιγραφή υλοποιήσεων  MCL  Η υλοποίηση του αλγορίθμου έγινε σε SCALA με τη χρήση του API και των δομών δεδομένων του Apache Spark  Εισήχθη μια απλοϊκή (naïve) συνάρτηση για την εκμετάλλευση του αραιού χαρακτήρα πινάκων στο διανεμημένο πολλαπλασιασμό πινάκων  R-MCL  Η υλοποίηση του αλγορίθμου έγινε σε Python με τη χρήση του API του Apache Spark  Για την υλοποίηση του αλγορίθμου χρησιμοποιήθηκαν οι εξής βιβλιοθήκες: 1. SciPy 2. Pandas 3. NetworkX 8 16/03/2017
  • 9. 9 Χρησιμοποιώντας το Apache Spark στο μέγιστο • Αλλαγή σειράς πράξεων • Έλεγχος σύγκλισης μετά την 5η επανάληψη • Αλλαγή Blocksize και Partitionsize Στο κύριο επαναληπτικό κομμάτι του αυθεντικού MCL τα βήματα είναι: EXPAND → INFLATΙΟΝ → NORMALIZATION → PRUNING → NORMALIZATION Προτεινόμενο κύριο επαναληπτικό κομμάτι του τροποποιημένου MCL: EXPAND → PRUNING → INFLATION → NORMALIZATION 16/03/2017
  • 10. 10 Πολυπλοκότητα • Ο MCL χωρίς τροποποιήσεις απαιτεί: 𝑶 𝑵 𝟑 • Υλοποίηση MCL σε SCALA για την παρούσα διπλωματική εργασία: 𝑶 𝒂 𝟐 ∗ 𝑵 𝟑 • Υλοποίηση R-MCL σε Python για την παρούσα διπλωματική εργασία: 𝑶 𝒕 ∗ 𝒔 ∗ 𝑵 𝟑 Όπου Πίνακας εισόδου διαστάσεων NxN Ν: αριθμός γραμμών πίνακα εισόδου a: πυκνότητα πίνακα που προκύπτει σε κάθε επανάληψη t: πυκνότητα πίνακα που προκύπτει σε κάθε επανάληψη s: πυκνότητα αρχικού στοχαστικού πίνακα Πυκνότητα Πί𝜈𝛼𝜅𝛼 = 𝛼𝜌𝜄𝜃𝜇ό𝜍 𝜇𝜂 𝜇𝜂𝛿𝜀𝜈𝜄𝜅ώ𝜈 𝜎𝜏𝜊𝜄𝜒𝜀ί𝜔𝜈 𝛼𝜌𝜄𝜃𝜇ό𝜍 𝛾𝜌𝛼𝜇𝜇ώ𝜈 ∗ 𝛼𝜌𝜄𝜃𝜇ό𝜍 𝜎𝜏𝜂𝜆ώ𝜈 (Η Πυκνότητα στην περίπτωση μας παίρνει τιμές <<1) 16/03/2017
  • 11. 11 Περιγραφή Datasets και αποτελεσμάτων clustering του MCL με SCALA MCL 2ο Dataset: 1ο Dataset: 3ο Dataset:  Πειράματα με πραγματικά δεδομένα SampleData 3ο Dataset 2ο Dataset Ομάδες Αυθεντικού MCL (OG) 2,248 25,354 57,570 Ομάδες SCALA MCL (MOD) 2,394 27,959 65,703 SampleData: Αριθμός cluster που προκύπτουν σε διάφορα datasets από τον αυθεντικό MCL και τον MCL SCALA 16/03/2017 Normal File Size: 722.9KB NNZ: 16,466 Matrix Dimensions: 3,7752 Normal File Size: 8.3GB NNZ: 142,298,957 Matrix Dimensions: 1,908,1422 Normal File Size: 1.7GB NNZ: 29,425,239 Matrix Dimensions: 357,8742 Normal File Size: 948.8MB NNZ: 16,424,393 Matrix Dimensions: 186,1902
  • 12. 12 Επαλήθευση αποτελεσμάτων clustering του MCL SCALA SampleData 3ο Dataset 2ο Dataset Αριθμός ίδιων cluster αναμεσά στις δυο υλοποιήσεις 2,120 23,380 51,477 Αριθμός στοιχείων που περιέχουν τα ίδια cluster 3,216 104,442 167,968 Αριθμός Singletons σε OG / MOD / κοινά σε OG & MOD 1,672/1,837/1,672 15,599/17,337/15,598 34,278/39,760/34,271 Αριθμός cluster που δεν είναι ίδια σε OG / MOD 128/274 1,974/4,579 6,093/14,226 Αριθμός cluster του OG που μπορούν να δημιουργηθούν με τον αριθμό singletons του MOD 48/165 99/1,739 233/5,489 Μέσος αριθμός singletons που συνδυάστηκαν και ο αριθμός των στοιχείων που απομένουν 3.4375/394 17.5656/80,009 23.5579/184,417 Αριθμός cluster του OG που μπορούν να αναδημιουργηθούν ακριβώς χρησιμοποιώντας cluster του MOD (OG/MOD) 36/54 547/1,330 1,494/4,003 Αριθμός των cluster του OG που δεν μπορούν να αναδημιουργηθούν ακριβώς με τα cluster του MOD και ο αριθμός των στοιχείων που περιέχουν αυτά. 44/55/249 1,328/1,510/66,090 4,366/4,734/155,397 Ποσοστό επιτυχίας σχεδιασμού των cluster του OG που δεν μπορούν να δημιουργηθούν ακριβώς με τα cluster που έχουν μείνει στο MOD 98.80% 84.90% 82.08% Συνολικό ποσοστό στοιχείων που βρίσκονται στα σωστά cluster 99.92% 94.64% 92.22% 16/03/2017
  • 13. Αποτελέσματα 13 1289 843 653 713 825 0 500 1000 1500 seconds Hardware Configurations 3ο Dataset 2166 1328 1019 1107 1247 0 1000 2000 3000 seconds Hardware Configurations 2ο Dataset 12 CPU Cores - 2 Executors 24 CPU Cores - 4 Executors 30 CPU Cores - 5 Executors 60 CPU Cores - 10 Executors 32 CPU Cores - 4 Executors - Different Settings 12 CPU Cores - 2 Executors, 88357 30 CPU Cores - 5 Executors, 15372 60 CPU Cores - 10 Executors, 8141 0 20000 40000 60000 80000 100000 seconds Hardware Configurations 1ο Dataset Συνολικός χρόνος εκτέλεσης (seconds) του MCL SCALA για κάθε Hardware Configuration σε κάθε Dataset. 16/03/2017
  • 14. 1 10 100 1000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 seconds Iterations 3ο Dataset 1 10 100 1000 10000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 seconds Iterations 2ο Dataset 12 CPU Cores - 2 Executors 24 CPU Cores - 4 Executors 30 CPU Cores - 5 Executors 60 CPU Cores - 10 Executors 1 10 100 1000 10000 100000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 20 21 25 26 27 28 29 30 31 32 33 seconds Iterations 1ο Dataset 14 Σύγκριση χρόνου εκτέλεσης κάθε επανάληψης του MCL SCALA για κάθε Hardware Configuration σε κάθε Dataset. Λογαριθμική κλίμακα με βάση το 10 16/03/2017
  • 15. Σύγκριση μετρήσεων R-MCL Python, MCL SCALA και Original MCL 16/03/2017 15 Dataset R-MCL Python MCL SCALA Original MCL 2nd 48,121 65,703 57,570 3rd 22,314 27,959 25,354 Dataset R-MCL Python MCL SCALA 2nd 307.23 653.94 3rd 609.75 1,019.75  Αριθμός cluster που προκύπτουν από κάθε αλγόριθμο  Χρόνος εκτέλεσης σε seconds του R- MCL & MCL SCALA  O R-MCL Python δημιουργεί τα λιγότερα cluster  O R-MCL Python είναι πιο γρήγορος από τον MCL SCALA Σύμφωνα με θεωρία:  O R-MCL δημιουργεί ποιοτικότερα cluster
  • 16. 16 HWC1 HWC2 HWC3 HWC4 HWC5 Matrix- 100000- 0.0001 0.107497 0.14015556 0.14676667 0.354884 0.1543694 Matrix- 100000- 0.001 0.608685 0.68491111 0.68464667 0.879939 0.6558222 Matrix- 1000000- 0.00001 1.206065 1.10570833 0.9896833 1.385358 1.7456638 3rd Dataset 0.255652 0.27865833 0.25902333 0.518509 0.2727083 2nd Dataset 0.42959 0.43897778 0.4042033 0.805035 0.4122027 1st Dataset 17.52414 - 6.09756 5.920316 -  Συνολικό κόστος ($) για την ομαδοποίηση κάθε Dataset γ κάθε Hardware Configuration Τα Hardware Configurations (HWC) αντιστοιχούν στους παρακάτω υπολογιστικούς πόρους: 1. 20 CPU πυρήνες – 48 GB RAM – 480 GB SSD 2. 36 CPU πυρήνες – 80 GB RAM – 800 GB SSD 3. 44 CPU πυρήνες – 96 GB RAM – 960 GB SSD 4. 84 CPU πυρήνες – 176 GB RAM – 1.76 TB SSD 5. 40 CPU πυρήνες – 80 GB RAM – 800 GB SSD HWC1 HWC2 HWC3 HWC4 HWC5 Cost ($) Per Hour 0.714 1.19 1.428 2.618 1.19  Κόστος ενοικίασης ($) κάθε Hardware Configuration ανά ώρα  Τα resources ενοικιάστηκαν από την 16/03/2017 Γιατί όχι ;  Κομβόι με μνήμη RAM ≤ 8GB  Πολύ αργοί υπολογιστικοί πυρήνες
  • 17. Συμπεράσματα 17  Η προσφορά αυτής της διπλωματικής είναι η Distributed computing και horizontally scalable υλοποίηση του αλγορίθμου MCL  Το πρόγραμμα λειτουργεί για οσοδήποτε μεγάλο γράφο εισόδου  Ο χρόνος εκτέλεσης του προγράμματος επηρεάζεται από το μέγεθος του γράφου εισόδου και από τους διαθέσιμους υπολογιστικούς πόρους  Πιο φθηνή λύση ανά ώρα ≠ πιο συμφέρουσα λύση 16/03/2017
  • 18. Μελλοντικές Επεκτάσεις 18 ¤ Εγγενής υποστήριξη διανεμημένου πολλαπλασιασμού πινάκων από το Apache Spark που να εκμεταλλεύεται τις ιδιότητες των αραιών πινάκων ► Καλύτερη εκμετάλλευση της τοπικότητας των δεδομένων στις συναρτήσεων Normalize, Pruning και Inflation ► Αυτόματη ρύθμιση των παραμέτρων εισόδου μέσω τεχνικής βελτιστοποίησης υπερπαραμέτρων με τη χρήση είτε γενετικών αλγορίθμων είτε Particle Swarm Optimization αλγορίθμων ► Αυτόματη ρύθμιση των διαθέσιμων υπολογιστικών πόρων ανάλογα με το εκάστοτε πρόβλημα ► Δυναμική αλλαγή των διαθέσιμων υπολογιστικών πόρων ανάλογα με το ποσό απαιτητικό είναι το σημείο του προγράμματος που εκτελείται  Ανανέωση της υλοποίησης για τη σωστή λειτουργία σε Spark 2.x 16/03/2017
  • 19. Τέλος  Ευχαριστώ θερμά:  τον καθηγητή Περικλή Α. Μήτκα  τον μεταδιδακτορικό ερευνητή Φώτη Ε. Ψωμόπουλο  τον υποψήφιο διδάκτορα Αθανάσιο Κιντσάκη  τον Ohad Raviv και Joan André  τους καθηγητές Ανδρέα Συμεωνίδη και Αναστάσιο Ντελόπουλο  Εσάς για την προσοχή σας  Ερωτήσεις; 16/03/2017

Notes de l'éditeur

  1. Γεια σας και απο εμενα, ονομαζομαι Καλτσικης Αγγελος και θα σας παρουσιασω την διπλωματικη μου εργασια που πραγματευεται την παραλληλη υλοποιηση του αλγοριθμου MCL με χρηση πορων του Cloud.
  2. Στην παρουσιαση που ακολουθει αρχικα θα δουμε τον στοχο της εργασιας. Στη συνεχεια θα παρουσιαστει ενα θεωρητικο υποβραθρο για την καλυτερη κατανοηση του προβληματος που καλουμαστε να αντιμετωπισουμε. Θα ακολουθησει η περιγραφη της μεθοδολογιας και της πολυπλοκοτητας του προγραμματος. Θα αναφερθουν τα αποτελεσματα της εργασιας, τα συμπερασματα και τελος οι μελλοντικες επεκτασεις.
  3. Στοχος της εργασιας ηταν η αναπτυξη ενος προγραμματος που να υλοποιει τον Markov Cluster Algorithm σε κατανεμημενο περιβαλλον. Επιλεχθηκε η υλοποιηση του σε Cloud περιβαλλον και οχι σε Grid λογω της πολυ ευκολης προσαρμογης των υπολογιστικων πορων αναλογα με το εκαστοτε προβλημα. Το προγραμμα πρεπει να ειναι ικανο να δεχεται οσοδηποτε μεγαλη εισοδο και να παραγει τα αποτελεσματα της ομαδοποιησης σε κατανοητη και βολικη μορφη για το χρηστη. Επισης πρεπει να παρεχει μια φιλικη διεπαφη ετσι ωστε να διευκολυνει τη χρηση της υλοποιησης απο οσο το δυνατον περισσοτερα μελη της ερευνιτικης κοινοτητας. Με την υλοποιηση αυτη επιζητειται η μειωση του συνολικου χρονου εκτελεσης ομαδοποιησης σε μεγαλα σετ δεδομενων αλλα και η παροχη της δυνατοτητας ομαδοποιησης ογκου δεδομενων που ηταν απαγορευτικα μεγαλος για τις προηγουμενες υλοποιησεις.
  4. Ομως ας ξεκινησουμε με μερικες βασικες εννοιες που θα σας βοηθησουν να κατανοησετε καλυτερα την παρακατω παρουσιαση. To clustering ειναι η μεθοδος με την οποια αντικειμενα τα οποια μοιαζουν περισσοτερο μεταξυ τους παρα με αλλα κατατασονται σε μια ομαδα. Η ομαδοποιηση των πρωτεινων ειναι αρκετα σημαντικη για τη Βιοπληροφορικη γιατι ετσι καθοριζονται οι λειτουργιες και ιδιοτητες πρωτεινων που δεν ειναι γνωστες εφοσον ομαδοποιουνται με αλλες για τις οποιες γνωριζουμε τα στοιχεια αυτα. Υπαρχουν ηδη αρκετες υλοποιησεις του MCL οι οποιες εχουν σχεδιασθει για διαφορους σκοπους. Ωστοσο κατα την σχεδιαση τους δεν ειχε ληφθει υποψη το μεγεθος των δεδομενων που θα επρεπε να αντιμετωπισουν στο μελλον. Για την ακριβεια η Βιοπληροφορικη χαρακτηριζεται ως ενας τομεας που ασχολειται με τεραστιο ογκο δεδομενων (Big Data). Λογω του μεγεθους των δεδομενων που καλειται να αντιμετωπισει η υλοποιηση μας αλλα σε συνδιασμο με το γεγονος οτι ο ρυθμος αυξησης του ογκου των δεδομενων ειναι μεγαλυτερος απο τον ρυθμο αυξησης της υπολογιστικης ισχυος επιλεχθηκε η υλοποιηση του αλγοριθμου σε κατανεμημενο περιβαλλον.
  5. Για την υλοποιηση του προγραμματος μετα την οριστικοποιηση της αποφασης για χρηση μιας cloud υποδομης τεθηκε το ερωτημα για το αν θα επρεπε να σχεδιασθει ενα custom framework για της αναγκες του προγραμματος ή θα ηταν καλυτερο να χρησιμοποιηθει ενα ηδη ευραιως γνωστο και χρησιμοποιηουμενο framework. Αν και η κατασκευη ενος ειδικα σχεδιασμενου framework για το προβλημα θα εδινε καλυτερη αποδοση επιλεχθηκε να μην "ξανα εφευρεθει ο τροχος" και να χρησιμοποιηθει ενα απο τα ηδη υπαρχοντα framework που παρεχουν πολυ καλη υποστηριξη απο την κοινοτητα τους. Συγκρινοντας τα MPI/OpenMP, Apache Hadoop, Apache Spark και CUDA επιλεχθηκε το Apache Spark γιατι υποστηριζει ταυτοχρονα τη δυνατοτητα αξιοποιησης του μεγεθους των σκληρων δισκων και της ταχυτητας των μνημων ram σε συνδιασμο με την υποστηριξη διανεμημενου συστηματος αποθηκευσης αρχειων επομενως και τη δυνατοτητα επιλυσης προβληματων Big Data. Καποια κριτηρια που επαιξαν σημαντικο ρολο ειναι η αντιμετωπση σφαλματων απο το framework, η δυνατοτητα ελεγχου της υποδομης σε διανεμημενα συστηματα και η δυνατοτητα εκτελεσης του σε οποιοδηποτε συστημα χωρις αναγκες για ειδικο hardware.
  6. Στο σημειο αυτο εφοσον ξεκαθαριστηκε το framework που επιλεξαμε παραθετουμε τον ψευδοκωδικα του MCL και το διαγραμμα ροης του. Οπως βλεπουμε και στον ψευδοκωδικα ο αλγοριθμος MCL αποτελειται απο καποιες βασικες ενεργειες οι οποιες ειναι αρχικα η εισαγωγη των self loops και η αρχικη κανονικοποιηση του πινακα γειτνιασης του γραφου ετσι ωστε να ειναι στοχαστικος κατα στηλη. Στη συνεχεια περιλαμβανει την διαδικασια του Expand που ειναι ουσιαστικα πολλαπλασιασμος πινακων, την διαδικασια του inflate που ειναι η υψωση των στοιχειων του πινακα σε μια δυναμη, επειτα η κανονικοποιηση του πινακα κατα στηλη και στη συνεχεια του prunning δηλαδη την αποκοπη των χαμηλοτερων τιμων απο ενα κατωφλι και η επανακανονικοποιηση του πινακα ετσι ωστε να ειναι στοχαστικος. Οι λειτουργιες αυτες εκτελουνται επαναληπτικα μεχρι ο αλγοριθμος να συγκλινει και στη συνεχεια διερμηνευονται τα cluster που προκυπτουν.
  7. Περα απο τον αλγοριθμο MCL δημιουργηθηκαν διαφορες παραλλαγες του ετσι ωστε να αντιμετωπιστουν καποιες απο τις αδυναμιες του. Στη παρουσα διπλωματικη εργασια επιλαξαμε να υλοποιησουμε περα απο τον κανονικο MCL την παραλλαγη του Regularized MCL που βελτιωνει την "αδυναμια" του MCL του κατακερματισμου των ομαδων σε πολλες μικροτερες. Οπως βλεπουμε και στον ψευδοκωδικα η μονη διαφορα του R-MCL και του MCL ειναι η εισαγωγη της μεταβλητης MG ο οποιος ειναι ο αρχικος πινακας γειτνιασης του γραφου. Με αυτον πολλαπλασιαζεται στο βημα του expand ο πινακας γειτνιασης που εχει προκυψει σε καθε επαναληψη μεχρι την συγκλιση του αλγοριθμου. Με τον τροπο αυτο χρησιμοποιουνται τα χαρακτηριστικα στοιχεια του αρχικου πινακα γειτνιασης καθ ολη την διαρκει εκτελεσης του αλγοριθμου σε αντιθεση με τον απλο MCL.
  8. Η υλοποιηση του MCL εγινε σε SCALA και χρησιμοποιει το API του Apache Spark και τις δομες δεδομενων που παρεχει το Spark για την διανεμημενη αποθηκευση των γραφων που επιθημουμε να ομαδοποιησουμε σε δομες δεδομενων σχεδιασμενες για αραιους πινακες. Αν και το Spark χρησιμοποιειται ευραιως σε προβληματα Big Data και υποστηριζει αραιες μορφες αποθηκευσης δεν υπηρχε ηδη ενσωματωμενη η δυνατοτητα εκτελεσης διανεμημενουν πολλαπλασιασμου πινακων που να εκμεταλευεται τον αραιο χαρακτηρα των δεδομενων. Εγιναν διαφορες προσπαθειες επιλυσης του προβληματος αυτου και τελικα επειτα απο συνεργασια με τους μηχανικους του Paypal Israel βρεθηκε μια λυση που ναι μεν ηταν απλοικη και δεν ειχε βελτιστοποιηθει αλλα δουλευε. Απο την αλλη πλευρα ο R-MCL με την μικρη αυτη τροποποιηση μας δινει τη δυνατοτητα να εκμεταλευτουμε την πανισχυρη βιβλιοθηκη SciPy που μας εκτελει τον πολλαπλασιασμο πινακων σε αραιη μορφη πολυ γρηγορα και με χαμηλη πολυπλοκοτητα. Επομενως επιλεχθηκε η υλοποιηση αυτη να πραγματοποιηθει σε Python και να χρησιμοποιηθει ξανα το API του Apache Spark. Περα απο αυτο ομως χρησιμοποιηθηκαν οι βιβλιοθηκες SciPy οπως προαναφεραμε, η βιβλιοθηκη Pandas και η βιβλιοθηκη NetworkX.
  9. Για την περαιτερω βελτιωση της αποδοσης του προγραμαμτος επιλεχθηκε η εισαγωγη διαφορων κολπων τα οποια δεν θα μετεβαλλαν τα αποτελεσματα. Πρωτη αλλαγη ισως και η πιο σημαντικη ειναι η αλλαγη της ροης των ενεργειων που γινονται στον αλγοριθμο του MCL ετσι ωστε να διαγραφουν καποια βηματα που πλεον δεν θα ειναι αναγκαια. Βασιζόμενοι στο οτι η συναρτηση του pruning πρεπει να δεχθει εναν πινακα ο οποιος να ειναι στοχαστικος και η συναρτηση της υψωσης στοχαστικου πινακα σε δυναμη δινει και παλι στοχαστικο πινακα προταθηκε η σειρα των πραξεων να γινει Expand -> pruning -> inflation και επειτα normalization και επομενως η διαγραφη ενος βηματος normalization. Σημαντικη παρατηρηση εδω ειναι πως σε αυτη την περιπτωση η τιμη του κατωφλιου πρεπει να ειναι διαφορετικη σε σχεση με την αρχικη ροη. Επειδη η διαδικασια ελεγχου για τη συγκλιση του αλγοριθμου συγκρινει τον πινακα της προηγουμενης επαναληψης με τον πινακα που εχει προκυψει στην παρουσα επαναληψη, διαδικασια που για μεγαλους πινακες μπορει να γινει ιδιαιτερα απαιτητικη και χρονοβορα, επιλεχθηκε ο ελεγχος να πραγματοποιειται απο την 5η επαναληψη και μετα οπου ο πινακας εχει γινει αρκετα πιο αραιος απο οτι ηταν στην αρχη.*** Αντιστοιχα εφοσον κατα την παροδο των επαναληψεων ο πινακας περιεχει ολο και λιγοτερα στοιχεια ρυθμιστηκε το προγραμμα να αλλαζει το blocksize για τον πολλαπλασιασμο των αραιων πινακων και τον αριθμο των partition που ειναι διανεμημενα τα δεδομενα αναμεσα στους κομβους.
  10. Οσο αφορα την πολυπλοκοτητα των προγραμματων η ροη του MCL χωρις καποια τροποποιηση εχει πολυπλοκοτητα της ταξης O(N^3). Η δικια μας υλοποιηση για τον MCL σε Scala εχει O(a^2*N^3) που αντικατροπτιζεται στον πολλαπλασιασμο αραιων πινακων που ειναι και η πιο απαιτητικη διαδικασια. Η υλοποιηση του R-MCL σε Python είναι της ταξης (t*s*N^3) οπου τ ειναι η πυκνοτητα του πινακα που προκυπτει σε κάθε επαναληψη και s πυκνοτητα του αρχικου στοχαστικου πινακα.
  11. Για το κομματι των αποτελεσματων της διπλωματικης χρησιμοποιηθηκαν τεχνητα και πραγματικα δεδομενα. Στην παρουσιαση θα επικεντρωθουμε στα πραγματικα δεδομενα και παραθετουμε μια συνοπτικη περιγραφη των Dataset αυτων. Κατα την διαρκεια αναπτυξης του προγραμματος χρησιμοποιηθηκε το αρχει SampleData το οποιο λογω του μικρου του μεγεθους ηταν καταλληλο για την αναπτυξη και την διορθωση του προγραμματος. Στη συνεχεια το προγραμμα εκτελεστηκε με τα τρια Dataset που βλεπουμε στο αριστερο μερος της οθονης μας. Για την εκτελεση των πειραματων χρησιμοποιηθηκαν διαφορα spark clusters τα οποια ειχα διαφορετικους διαθεσιμους πορους σε καθε περιπτωση. Εκτελεστηκε η υλοποιηση του MCL σε Scala και οπως βλεπουμε ο αριθμος των ομαδων που παρηγαγε σαν αποτελεσμα διαφερει απο τον αριθμο των ομαδων που προεκυψαν χρησιμοποιοντας τον αρχικο MCL.
  12. Εφοσον τα αποτελεσματα δεν ειναι ιδια χρησιμοποιησαμε μια σειρα εξαντλητικων συγκρισεων ετσι ωστε να συγκρινουμε αν ειναι ομοια σε ικανοποιητικο βαθμο. Αρχικα ελεχθηκε ο αριθμος των ακριβως ιδιων ομαδων και ο αριθμος των στοιχειων που περιεχονται σε αυτες τις ομαδες. Στη συνεχεια ελεγχθηκε ο αριθμος των singletons για τους δυο αλγοριθμους καθως και ο αριθμος των singletons του αυθεντικου MCL που περιεχονται στα αποτελεσματα της SCALA. Επισης μετρηθηκε ο αριθμος των cluster του αρχικου MCL που δεν ειναι ιδια αλλα και ο αριθμος των cluster που μπορουν να δημιουργηθουν με singletons του MCL SCALA. Καταγραφεται ο μεσος αριθμος των singletons που χρησιμοποιηηκαν για το σχηματισμο καθε ομαδας του Original MCL καθως και ο αριθμος των στοιχειων που δεν εχουν ακομα ελεχθει. Στη συνεχεια παρουσιαζεται ποσες ομαδες του original μπορουν να σχεδιασθουν ακριβως χρησιμοποιοντας ομαδες του Scala MCL και ο αριθμος των cluster που δεν μπορουν να αναμηιουργηθουν ακριβως καθως και ο αριθμος των στοιχειων που περιερχουν αυτα. Τελος καταγραφεται το ποσοστο επιτυχιας για αναδημιουργια των cluster που απεμειναν και δεν ταυτιζονται ακριβως αλλα και το συνολικο ποσοστο στοιχειων που μπορουν να βρεθουν στο ιδιο cluster συμφωνα με τον αρχικο MCL. Συμφωνα με τον κυριο Stijn van Dongen οσο μεγαλυτερος ειναι ο γραφος εισοδου τοσο μεγαλυτερες μπορει να ειναι και οι διαφορες στα αποτελεσματα ομαδοποιησης κυριως λογω του διαφορετικους τροπου που χειριζομαστε τους αραιους πινακες και του διαφορετικο τροπου απλoπoιησεων και διαχειρησης των self loops. Αυτο επαληθευεται και στον πινακα αυτο.
  13. Εφοσον δειχθηκε πως τα αποτελεσματα της ομαδοποιησης εχουν μεγαλο βαθμο ομοιοτητας και επομενως το προγραμμα λειτουργει σωστα παρουσιαζουμε μερικα αποτελεσματα απο τα πειραματα. Αρχικα βλεπουμε το συνολικο χρονο εκτελεσης του MCL SCALA για καθε dataset σε διαφορετικα hardware configurations. Παρατηρειται πως στο πρωτο και στο δευτερο διαγραμμα οι περισσοτεροι υπολογιστικοι ποροι δεν εχουν και τον μικροτερο χρονο εκτελεσης που θεωρειται η βελτιστη αποδοση. Αντιθετα στο τριτο διαγραμμα για το 1o dataset η περιπτωση των 60 πυρηνων εχει χρονο κατα πολυ μικροτερο απο την περιπτωση των 30 πυρηνων. Αυτο συμβαινει γιατι σε μικρα dataset η παροχη παρα πολλων διαθεσιμων πορων δημιουργει επιπλεον overheads χωρις ουσιαστικα οφελη ενω στην περιπτωση ενος μεγαλου dataset η επιπλεον αυτη υπολογιστικη ισχυς αξιοποιειται.
  14. Παρουσιαζονται διαγραμματα για το χρονο εκτελεσης καθε επαναληψης στο επαναληπτικο κομματι του MCL για διαφορα Dataset με τη χρηση διαφορετικων hardware configurations. Οπως ειναι ηδη γνωστο απο την θεωρια η πρωτες επαναληψεις (μεχρι τη 10η) ειναι και οι πιο απαιτητικες υπολογιστικα και ειναι αυτες στις οποιες γινεται η καλυτερη αξιοποιηση των περισσοτερων υπολογιστικων πορων. Αντιθετα στις επομενες επαναληψεις οι περισσοτεροι υπολογιστικοι ποροι οχι μονο δεν βελτιωνουν την αποδοση αλλα ταυτοχρονα δημιουργουν επιπλεον overheads.
  15. Επισης συγκριθηκε ο αριθμος των cluster που προκυπτουν απο τον R-MCL, MCL SCALA και απο τον αρχικο MCL και επαληθευεται η θεωρια πως ο R-MCL δινει σαν αποτελεσμα λιγοτερα και ποιοτικοτερα cluster. Επισης συγκριθηκε ο χρονος εκτελεσης του RMCL σε Python και του MCL σε SCALA και ο R-MCL ειναι πιο γρηγορος κατι το οποιο ειναι λογικο αν αναλογιστει κανεις πως ο πολλαπλασιασμος πινακων που ειναι το κομματι που ειναι το πιο απαιτητικο εχει χαμηλοτερη πολυπλοκοτητα. Επειδη οι υπολογιστικοι ποροι ενοικιαστηκαν απο τη Digitalocean το τελευταιο πειραμα ασχοληθηκε με την συγκριση των χρηματικων ποσων που δαπανηθηκαν για την ολοκληρωση της ομαδοποιησης καθε dataset για διαφορετικα hardware configurations. Ειναι ευκολα αντιληπτο πως αν και καποια hardware configurations ειχαν μικροτερο κοστος ενοικιασης του ανα ωρα εδιναν μεγαλυτερο κοστος για την εκτελεση του προγραμματος εκτος απο τον περισσοτερο χρονο εκτελεσης.
  16. Επισης συγκριθηκε ο αριθμος των cluster που προκυπτουν απο τον R-MCL, MCL SCALA και απο τον αρχικο MCL και επαληθευεται η θεωρια πως ο R-MCL δινει σαν αποτελεσμα λιγοτερα και ποιοτικοτερα cluster. Επισης συγκριθηκε ο χρονος εκτελεσης του RMCL σε Python και του MCL σε SCALA και ο R-MCL ειναι πιο γρηγορος κατι το οποιο ειναι λογικο αν αναλογιστει κανεις πως ο πολλαπλασιασμος πινακων που ειναι το κομματι που ειναι το πιο απαιτητικο εχει χαμηλοτερη πολυπλοκοτητα. Επειδη οι υπολογιστικοι ποροι ενοικιαστηκαν απο τη Digitalocean το τελευταιο πειραμα ασχοληθηκε με την συγκριση των χρηματικων ποσων που δαπανηθηκαν για την ολοκληρωση της ομαδοποιησης καθε dataset για διαφορετικα hardware configurations. Ειναι ευκολα αντιληπτο πως αν και καποια hardware configurations ειχαν μικροτερο κοστος ενοικιασης του ανα ωρα εδιναν μεγαλυτερο κοστος για την εκτελεση του προγραμματος εκτος απο τον περισσοτερο χρονο εκτελεσης.
  17. Η προσφορα της παρουσας διπλωματικης ειναι η δημιουργια μιας distributed computing και horizontally scalable υλοποιηση του αλγοριθμου MCL. Επομενως τα συμπερασματα που προεκυψαν ειναι πως το προγραμμα εχει τη δυνατοτητα να λειτουργει για οσοδηποτε μεγαλο γραφο εισοδου αρκει να του παρεχονται αρκετοι υπολογιστικοι ποροι για το καθε πειραμα. Αν και ο χρονος εκτελεσης επηρεαζεται απο το μεγεθος του γραφου εισοδου, ο χρονος αυτος μπορει να επηρεαστει απο τους υπολογιστικους πορους που εχει το υπολογιστικο cluster στη διαθεση του. Συμφνωνα με το τελευταιο πειραμα παρατηρησαμε πως δεν ισχυει συνηθως οτι η πιο φθηνη λυση ανα ωρα ειναι και η πιο συμφερουσα τελικα. Επισης για τη βελτιστη αποδοση των υλοποιησεων που αναπτυχθηκαν συστηνεται η χρηση της λειτουργιας του checkpointing και η παροχη υπολογιστικων πορων περισσοτερων απο τον ελαχιστο αναγκαιο. Επισης πολυ σημαντικο ρολο παιζει η σωστη ρυθμιση της δομης και των παραμετρων του υπολογιστικου cluster αλλα και η σωστη ρυθμιση των παραμετρων εισοδου αναλογα με το καθε προβλημα.
  18. Τελος οι μελλοντικες επεκτασεις που θα βελτιωσουν περαιταιρω την υπαρχουσα υλοποιηση ειναι πρωτον η εγγενης υποστηριξη και βελτιστοποιηση του διανεμημενου πολλαπλασιασμου αραιων πινακων απο το Spark, η καλυτερη εκμεταλευση της τοπικοτητας των δεδομενων απο τις συναρτησεις Normalize, pruning και inflation. Επισης η αυτοματη ρυθμιση των παραμετρων εισοδου χρησιμοποιοντας τεχνικες βελτιστοποιησης υπερπαραμετρων ειτε με τη χρηση γενετικων αλγοριθμων ειτε με PSO. Στη συνεχεια η αυτοματη ρυθμιση των καταλληλων υπολογιστικων πορων για καθε προβλημα αλλα και η δυναμικη αλλαγη των πορων που διατειθενται σε αυτο αναλογα με το ποσο απαιτητικο ειναι το σημειο του προγραμματος που εκτελειται την καθε στιγμη. Τελος η ανανεωση της υλοποιησης για υποστηριξη και σωστη λειτουργια των νεων εκδοσεων του Spark.
  19. Σας ευχαριστω πολυ.