ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΜΕΛΕΤΗ ΤΗΣ ΑΠΟ ΟΣΗΣ ΚΑΤΑΝΕΜΗΜΕΝΟΥ ΣΥΣΤΗΜΑΤΟΣ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΜΕΛΕΤΗ ΤΗΣ ΑΠΟ ΟΣΗΣ ΚΑΤΑΝΕΜΗΜΕΝΟΥ ΣΥΣΤΗΜΑΤΟΣ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ"

Transcript

1 ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΜΕΛΕΤΗ ΤΗΣ ΑΠΟ ΟΣΗΣ ΚΑΤΑΝΕΜΗΜΕΝΟΥ ΣΥΣΤΗΜΑΤΟΣ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ.. Μαλιούφα Αικατερίνη Α.Ε.Μ : 633 Τµήµα Πληροφορικής Α.Π.Θ. Επιβλέπουσα Καθηγήτρια : Καρατζά Ελένη Θεσσαλονίκη, Ιούλιος 2005

2 ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ...2 ΠΡΟΛΟΓΟΣ...3 ΜΕΡΟΣ 1ο : Θεωρητικό Υπόβαθρο Εισαγωγή στην έννοια της προσοµοίωσης Τρόποι µελέτης ενός συστήµατος Συστατικά και Οργάνωση ενός µοντέλου προσοµοίωσης διακριτών γεγονότων Πλεονεκτήµατα, µειονεκτήµατα και δυσκολίες της προσοµοίωσης...13 ΜΕΡΟΣ 2ο : Προσέγγιση προβλήµατος Κατανεµηµένα συστήµατα Συστήµατα πραγµατικού χρόνου Επιθυµητά χαρακτηριστικά των συστηµάτων πραγµατικού χρόνου Περιγραφή Μοντέλου και Μεθοδολογίας Περιγραφή συστήµατος ιαδικασία Αφίξεων ιαδικασία Εξυπηρετήσεων Παράµετροι Παράµετροι Συστήµατος Παράµετροι Απόδοσης...23 ΜΕΡΟΣ 3ο : Υλοποίηση Προγράµµατος Βασικές οµές Κώδικα Γενικά για την υλοποίηση Σταθερές του προγράµµατος Μεταβλητές του προγράµµατος Κλάσεις του προγράµµατος Συναρτήσεις του προγράµµατος...36 ΜΕΡΟΣ 4ο : Μελέτη της Απόδοσης ιεξαγωγή Πειραµάτων η Σειρά Πειραµάτων η Σειρά Πειραµάτων η Σειρά Πειραµάτων η Σειρά Πειραµάτων...55 ΒΙΒΛΙΟΓΡΑΦΙΑ...59 ΜΕΡΟΣ 5ο : Παραρτήµατα ΠΑΡΑΡΤΗΜΑ Ι Αρχεία Προγράµµατος Κώδικας Βασικών οµών Προγράµµατος

3 ΠΡΟΛΟΓΟΣ Η παρούσα εργασία αποτελεί την τεκµηρίωση της ιπλωµατικής Εργασίας που µου ανατέθηκε από την αναπληρώτρια καθηγήτρια κ. Ελένη Καρατζά κατά τη διάρκεια των προπτυχιακών µου σπουδών στο Τµήµα Πληροφορικής του Α.Π.Θ. Νιώθω την ανάγκη να την ευχαριστήσω για την πολύτιµη συνεργασία µας και για την βοήθεια που µου προσέφερε καθώς και για την εµπιστοσύνη που έδειξε στο πρόσωπό µου. Επίσης θα ήθελα να την αφιερώσω στους δικούς µου εκφράζοντας έτσι την ευγνωµοσύνη µου για τις θυσίες που έχουν κάνει για µένα. Θεσσαλονίκη, Ιούλιος

4 ΜΕΡΟΣ 1ο : Θεωρητικό Υπόβαθρο 4

5 1.1 Εισαγωγή στην έννοια της προσοµοίωσης Προσοµοίωση είναι η µίµηση της λειτουργίας µιας διαδικασίας ή συστήµατος του πραγµατικού κόσµου κατά τη διάρκεια του χρόνου. Είτε γίνει «µε το χέρι» είτε µε έναν υπολογιστή, η προσοµοίωση εµπεριέχει την παραγωγή κάποιου τεχνητού ιστορικού ενός συστήµατος, και την παρατήρηση αυτού του τεχνητού ιστορικού για να εξαχθούν συµπεράσµατα που αφορούν τα λειτουργικά χαρακτηριστικά του πραγµατικού συστήµατος. Η συµπεριφορά ενός συστήµατος καθώς αυτό εξελίσσεται στο χρόνο µπορεί να µελετηθεί µε την ανάπτυξη ενός µοντέλου προσοµοίωσης. Αυτό το µοντέλο παίρνει συνήθως τη µορφή ενός συνόλου υποθέσεων που αφορούν τη λειτουργία του συστήµατος. Αυτές οι υποθέσεις εκφράζονται σε µαθηµατικές, λογικές και συµβολικές σχέσεις µεταξύ των οντοτήτων ή των αντικειµένων ενδιαφέροντος του συστήµατος. Μόλις αναπτυχθεί και εγκριθεί, ένα µοντέλο µπορεί να χρησιµοποιηθεί για να ερευνήσει µια ποικιλία αποριών σχετικά µε το πραγµατικό σύστηµα. Ενδεχόµενες αλλαγές στο σύστηµα µπορούν πρώτα να προσοµοιωθούν έτσι ώστε να προβλεφθεί η επίδρασή τους στην απόδοση του συστήµατος. Ωστόσο, η µοντελοποίηση µπορεί να χρησιµοποιηθεί εξίσου, και ως ένα εργαλείο ανάλυσης για την πρόβλεψη της επίδρασης αλλαγών σε υπάρχοντα συστήµατα και ως ένα εργαλείο σχεδίασης για την πρόβλεψη της απόδοσης νέων συστηµάτων κάτω από διάφορες περιστάσεις. 5

6 1.2 Τρόποι µελέτης ενός συστήµατος Ένα σύστηµα ορίζεται ως µία συλλογή οντοτήτων (π.χ. άνθρωποι ή µηχανές) που ενεργούν και αλληλεπιδρούν, µε στόχο κάποιο λογικό τερµατισµό. Στην πράξη, η έννοια του συστήµατος εξαρτάται από τους στόχους της συγκεκριµένης µελέτης. Η συλλογή οντοτήτων που συγκροτούν ένα σύστηµα για µία µελέτη, µπορεί να είναι µόνο ένα υποσύνολο του συνολικού συστήµατος για µία άλλη µελέτη. Ορίζουµε την κατάσταση ενός συστήµατος, ως τη συλλογή των µεταβλητών που είναι απαραίτητες για την περιγραφή του συστήµατος σε µια χρονική στιγµή, αναφορικά µε τους στόχους της µελέτης. Τα συστήµατα µπορούν να είναι διακριτά ( discrete ) ή συνεχή ( continuous ). ιακριτό σύστηµα είναι αυτό στο οποίο οι µεταβλητές κατάστασης µπορούν να αλλάξουν σε διακεκριµένες στιγµές του χρόνου. Συνεχές είναι το σύστηµα του οποίου οι µεταβλητές κατάστασης αλλάζουν συνεχώς στο χρόνο. Λίγα συστήµατα στην πράξη είναι εξ ολοκλήρου διακριτά ή συνεχή, αλλά επειδή συνήθως µία από τις δύο ιδιότητες κυριαρχεί, µπορούµε τις περισσότερες φορές να χαρακτηρίσουµε το σύστηµα ως διακριτό ή συνεχές. Κατά τη διάρκεια της ζωής ενός συστήµατος, παρουσιάζεται η ανάγκη µελέτης του, ώστε να αποκτήσουµε γνώση για τις σχέσεις µεταξύ των διαφόρων τµηµάτων του, ή για να προβλέψουµε την απόδοσή του κάτω από νέες, πιθανόν, συνθήκες. Το Σχήµα 1 παρουσιάζει τους διαφορετικούς τρόπους µε τους οποίους µπορεί να µελετηθεί ένα σύστηµα. 6

7 Πείραµα µε το Πραγµατικό Σύστηµα ή Πείραµα µε Μοντέλο του Συστήµατος : Αν είναι δυνατόν (και οικονοµικά αποδεκτό) να έχουµε φυσική πρόσβαση στο σύστηµα και να το λειτουργήσουµε κάτω από τις νέες συνθήκες, ίσως είναι προτιµότερο να το κάνουµε, αφού στην περίπτωση αυτή δεν υπάρχει αµφισβήτηση για την ακρίβεια της µελέτης. Πάντως, σπάνια µας δίνεται αυτή η ευκαιρία, είτε γιατί κοστίζει, ή γιατί θα προκαλέσει προβλήµατα στην κανονική λειτουργία του συστήµατος. Επίσης, στη φάση σχεδιασµού, το σύστηµα δεν υπάρχει, οπότε αν θέλουµε να µελετήσουµε τις διάφορες εναλλακτικές προτάσεις υλοποίησής του, είναι αναγκαίο να κατασκευάσουµε ένα µοντέλο, το οποίο θα αναπαριστά το σύστηµα και θα το αντικαθιστά κατά τη µελέτη. Όταν χρησιµοποιούµε ένα µοντέλο, η εγκυρότητά του, δηλαδή ο βαθµός ακρίβειας µε τον οποίο αναπαριστά το σύστηµα, είναι πάντα ένα κρίσιµο ερώτηµα. Σύστηµα Πείραµα µε το Πραγµατικό Σύστηµα Πείραµα µε Μοντέλο του Συστήµατος Φυσικό Μοντέλο Μαθηµατικό Μοντέλο Αναλυτική Λύση Προσοµοίωση ΣΧΗΜΑ 1. Τρόποι Μελέτης ενός Συστήµατος. 7

8 Φυσικό Μοντέλο ή Μαθηµατικό Μοντέλο : Οι περισσότεροι άνθρωποι, µε τη λέξη "µοντέλο" αντιλαµβάνονται ένα φυσικό µοντέλο, όπως για παράδειγµα τη µινιατούρα ενός πλοίου που δοκιµάζεται σε µια δεξαµενή νερού, για τη µελέτη των υδροδυναµικών ιδιοτήτων του πραγµατικού συστήµατος (πλοίου). Όµως, η µεγάλη πλειοψηφία των µοντέλων και ιδιαίτερα αυτά που χρησιµοποιούνται για τη µελέτη υπολογιστικών συστηµάτων, είναι µαθηµατικά. Ένα µαθηµατικό µοντέλο αναπαριστά το σύστηµα µε βάση λογικές και ποσοτικές σχέσεις οι οποίες χειριζόµενες και µεταβαλλόµενες κατάλληλα, επιτρέπουν να δούµε πώς αντιδρά το µοντέλο και κατά συνέπεια πώς θα αντιδρούσε το σύστηµα, αν το µαθηµατικό µοντέλο είναι έγκυρο. Ένα παράδειγµα µαθηµατικού µοντέλου είναι η γνωστή σχέση d = rt, όπου r είναι η ταχύτητα ταξιδίου, t είναι ο χρόνος ταξιδίου και d είναι η απόσταση που έχει διανυθεί. Αναλυτική Λύση ή Προσοµοίωση : Από τη στιγµή που έχει δηµιουργηθεί ένα µαθηµατικό µοντέλο, θα πρέπει να εξετασθεί ο τρόπος χρήσης του ώστε να µπορεί να απαντήσει στα ερωτήµατα που µας ενδιαφέρουν για το σύστηµα που υποτίθεται ότι αντιπροσωπεύει. Αν το µοντέλο είναι αρκετά απλό, είναι δυνατό να πάρουµε µία ακριβή, αναλυτική λύση. Στο παράδειγµα της προηγούµενης παραγράφου, αν γνωρίζουµε την απόσταση που θα διανυθεί και την ταχύτητα, µπορούµε από το µοντέλο να πάρουµε t = d r για το χρόνο που θα χρειασθεί για το ταξίδι. Το µοντέλο αυτό είναι πολύ απλό, πράγµα που δεν συµβαίνει βέβαια στις περισσότερες περιπτώσεις, στις οποίες η αναλυτική λύση µπορεί να είναι αρκετά πολύπλοκη και να απαιτεί µεγάλη υπολογιστική ισχύ. Πάντως, αν υπάρχει αναλυτική λύση στο µαθηµατικό µοντέλο και είναι υπολογιστικά αποδοτική, συνήθως την προτιµούµε από την προσοµοίωση. 8

9 Όµως πολλά συστήµατα είναι πολύπλοκα, όπως και τα µαθηµατικά µοντέλα που τα αναπαριστούν, έτσι ώστε να αποκλείουν κάθε πιθανότητα αναλυτικής λύσης. Στην περίπτωση αυτή το µοντέλο πρέπει να µελετηθεί µε τη χρήση προσοµοίωσης, δηλαδή µε την εκτέλεση αριθµητικών πειραµάτων στο µοντέλο για τις εισόδους (δεδοµένα) που µας ενδιαφέρουν, για να δούµε πως αυτά επηρεάζουν τις εξόδους (µέτρα απόδοσης) του συστήµατος. Η προσοµοίωση είναι επίσης πολύ χρήσιµη στις περιπτώσεις που µπορούµε να πάρουµε µόνο προσεγγιστική αναλυτική λύση, οπότε θέλουµε να επιβεβαιώσουµε την προσέγγιση, να βρούµε το σχετικό λάθος κ.λ.π. 9

10 1.3 Συστατικά και Οργάνωση ενός µοντέλου προσοµοίωσης διακριτών γεγονότων Τα περισσότερα µοντέλα προσοµοίωσης διακριτών γεγονότων που χρησιµοποιούν τη µέθοδο εξέλιξης µε βάση το χρόνο του εποµένου γεγονότος, περιλαµβάνουν τα παρακάτω τµήµατα: Κατάσταση Συστήµατος (system state) Η συλλογή των µεταβλητών κατάστασης που είναι απαραίτητες για την περιγραφή του συστήµατος σε µία χρονική στιγµή Ρολόι Προσοµοίωσης (simulation clock) Μία µεταβλητή που περιέχει την τρέχουσα τιµή του προσοµοιωµένου χρόνου Λίστα Γεγονότων (event list) Μία λίστα που περιέχει την επόµενη χρονική στιγµή εµφάνισης κάθε τύπου γεγονότος Μετρητές Στατιστικών (statistical counters) Μεταβλητές που χρησιµοποιούνται για την αποθήκευση στατιστικών µετρήσεων της απόδοσης του συστήµατος 10

11 Ρουτίνα Αρχικοποίησης (initialization routine) Ένα υποπρόγραµµα που αρχικοποιεί το µοντέλο προσοµοίωσης τη χρονική στιγµή µηδέν Ρουτίνα Χρονισµού (timing routine) Ένα υποπρόγραµµα που αναγνωρίζει το επόµενο γεγονός από τη λίστα γεγονότων και ακολούθως αυξάνει το ρολόι προσοµοίωσης στη χρονική στιγµή που το γεγονός αυτό θα εµφανισθεί Ρουτίνες Γεγονότων (event routines) Υποπρογράµµατα που ενηµερώνουν την κατάσταση συστήµατος όταν εµφανίζεται ένα συγκεκριµένο είδος γεγονότος (υπάρχει µία τέτοια ρουτίνα για κάθε είδος γεγονότος) Ρουτίνες Βιβλιοθήκης (library routines) Σύνολο υποπρογραµµάτων που δηµιουργούν τυχαίες εµφανίσεις τιµών από πιθανοτικές κατανοµές, που έχουν ορισθεί ως µέρος του µοντέλου προσοµοίωσης Γεννήτρια Αναφορών (report generator) Υποπρόγραµµα που υπολογίζει εκτιµήσεις των επιθυµητών µέτρων απόδοσης από τους µετρητές στατιστικών και παράγει αναφορές όταν τελειώσει η εκτέλεση του προσοµοιωτή Κυρίως Πρόγραµµα (main program) Το πρόγραµµα που καλεί τη ρουτίνα χρονισµού για να καθοριστεί το επόµενο γεγονός και µετά µεταφέρει τον έλεγχο στην αντίστοιχη ρουτίνα γεγονότος για να ενηµερωθεί κατάλληλα η κατάσταση του συστήµατος. Ελέγχει επίσης αν πρέπει να τερµατισθεί η προσοµοίωση και καλεί τότε τη γεννήτρια αναφορών 11

12 Οι λογικές σχέσεις ανάµεσα στα παραπάνω τµήµατα φαίνονται στο Σχήµα 2. ΑΡΧΗ Ρουτίνα Αρχικοποίησης 1. Θέσε Ρολόι = 0 2. Αρχικοποίησε την κατάσταση συστ. & στατιστ. µετρητές 3. Αρχικοποίησε τη λίστα γεγονότων 0 Κυρίως Πρόγραµµα 0. Κάλεσε τη ρουτίνα αρχικοποίησης 1. Κάλ. ρουτ. χρονισµού 2. Κάλεσε ρουτίνα γεγονότος i 1 Ρουτίνα Χρονισµού 1. Καθόρισε τον επόµενο τύπο γεγονότος, έστω i 2. Αύξησε το ρολόι προσοµοίωσης i Ρουτίνα Γεγονότος i 2 1. Ενηµέρωσε κατάσταση συστήµατος 2. Ενηµέρωσε µετρητές στατιστικών 3. ηµιούργησε µελοντικά γεγονότα & πρόσθεσέ τα στη λίστα γεγονότων Ρουτίνες Βιβλιοθήκης ηµιούργησε τυχαίες τιµές από πιθανοτικές κατανοµές Τέλος Προσοµοίωσης? ΟΧΙ Γεννήτρια Αναφορών ΝΑΙ 1. Υπολόγισε εκτιµήσεις µέτρων απόδοσης 2. Γράψε την αναφορά ΤΕΛΟΣ ΣΧΗΜΑ 2. ιάγραµµα Ροής για την Εξέλιξη µε βάση το Χρόνο Εποµένου Γεγονότος. 12

13 1.4 Πλεονεκτήµατα, µειονεκτήµατα και δυσκολίες της προσοµοίωσης Η προσοµοίωση είναι µια ευρέως χρησιµοποιούµενη και όλο και πιο δηµοφιλής µέθοδος για τη µελέτη πολύπλοκων συστηµάτων. Έχει φυσικά τα πλεονεκτήµατα, τα µειονεκτήµατά της, αλλά υπάρχουν και πολλές αιτίες εξαιτίας των οποίων ορισµένες προσοµοιώσεις δεν καταλήγουν στο επιθυµητό αποτέλεσµα. Ορισµένα πλεονεκτήµατα της χρήσης της µεθόδου της προσοµοίωσης είναι τα παρακάτω: Τα περισσότερα σύνθετα συστήµατα του πραγµατικού κόσµου µε "τυχαίες" παραµέτρους, δεν µπορούν να περιγραφούν ικανοποιητικά µε κάποιο µαθηµατικό µοντέλο που µπορεί να λυθεί αναλυτικά. Έτσι, η προσοµοίωση είναι συχνά η µόνη διαθέσιµη µέθοδος µελέτης Η προσοµοίωση επιτρέπει την εκτίµηση της απόδοσης ενός υπάρχοντος συστήµατος, κάτω από κάποιο προβλεπόµενο σύνολο λειτουργικών συνθηκών Μπορούν να συγκριθούν µέσω της προσοµοίωσης, εναλλακτικές προτεινόµενες σχεδιάσεις ή εναλλακτικές πολιτικές λειτουργίας του συστήµατος, ώστε να προσδιορισθεί η βέλτιστη λύση που ικανοποιεί τις προδιαγραφές που έχουν ορισθεί Σε ένα µοντέλο προσοµοίωσης µπορούµε να έχουµε καλύτερο έλεγχο στις συνθήκες των πειραµάτων, σε σχέση µε πιθανό πειραµατισµό µε το πραγµατικό σύστηµα Η προσοµοίωση επιτρέπει τη µελέτη ενός συστήµατος που έχει µακρόχρονη εξέλιξη (π.χ. ένα οικονοµικό σύστηµα), σε πολύ µικρότερο χρόνο, ή τη µελέτη της λεπτοµέρειάς του σε περισσότερο χρόνο 13

14 Είναι µια µέθοδος οικονοµική, αφού είναι δυνατό να υλοποιηθεί πλέον σε µικρούς υπολογιστές µε τη χρήση γλωσσών προγραµµατισµού γενικού σκοπού όπως η C, η Pascal και η BASIC Η προσοµοίωση µπορεί να υλοποιηθεί από µηχανικούς που δεν είναι απαραίτητο να έχουν εκτεταµένες µαθηµατικές γνώσεις, παρά µόνο τη δυνατότητα να κατανοούν βασικές έννοιες στατιστικής και να µπορούν να εφαρµόζουν ήδη έτοιµα µαθηµατικά εργαλεία. Ορισµένα µειονεκτήµατα της προσοµοίωσης είναι τα παρακάτω: Κάθε εκτέλεση ενός µοντέλου προσοµοίωσης διακριτών γεγονότων παράγει µόνο εκτιµήσεις των πραγµατικών χαρακτηριστικών του µοντέλου, για ένα συγκεκριµένο σύνολο παραµέτρων εισόδου. Έτσι, είναι πιθανό να χρειασθούν πολλές διαφορετικές ανεξάρτητες εκτελέσεις του µοντέλου για κάθε σύνολο παραµέτρων εισόδου που θα µελετηθεί. Για το λόγο αυτό, η προσοµοίωση δεν είναι γενικά τόσο καλή µέθοδος για βελτιστοποίηση, όσο είναι για τη σύγκριση εναλλακτικών σχεδιαστικών λύσεων του συστήµατος Τα µοντέλα προσοµοίωσης συχνά απαιτούν πολύ χρόνο και πόρους για να αναπτυχθούν Ο µεγάλος όγκος αριθµών που παράγονται από µία µελέτη προσοµοίωσης ή η εντύπωση που δηµιουργούν οι τυχόν γραφικές αναπαραστάσεις των αποτελεσµάτων της, συχνά ενισχύουν µία τάση να δίνεται µεγαλύτερη εµπιστοσύνη στα αποτελέσµατα αυτά από όσο πρέπει. Αν το µοντέλο δεν είναι µία αρκετά έγκυρη αναπαράσταση του συστήµατος, τα αποτελέσµατα της προσοµοίωσης, ανεξάρτητα του πόσο εντυπωσιακά είναι, θα προσθέσουν λίγη χρήσιµη πληροφορία για το πραγµατικό σύστηµα 14

15 Από τη στιγµή που έχει ληφθεί η απόφαση να χρησιµοποιηθεί προσοµοίωση για τη µελέτη ενός συστήµατος, έχει παρατηρηθεί ότι µπορούν να εµφανισθούν αρκετά προβλήµατα στην πορεία υλοποίησης ενός επιτυχηµένου προσοµοιωτή: Όχι καλά ορισµένοι στόχοι κατά την έναρξη της µελέτης Ακατάλληλο επίπεδο λεπτοµέρειας του µοντέλου Χειρισµός της µελέτης µε προσοµοίωση, σαν να ήταν βασικά µία δύσκολη άσκηση προγραµµατισµού Έλλειψη στοιχειωδών γνώσεων Επιχειρησιακής Έρευνας και Στατιστικής Χρήση εµπορικών πακέτων προσοµοιωτών που µπορεί να περιέχουν λάθη ή να µην υλοποιούν τη λογική του συστήµατος Αποτυχία στη σωστή καταγραφή των πηγών τυχαιότητας του συστήµατος Χρήση αυθαίρετων κατανοµών (π.χ. κανονική ή οµοιόµορφη) για την περιγραφή των εισόδων του προσοµοιωτή Ανάλυση των δεδοµένων εξόδου από µία εκτέλεση του προσοµοιωτή, µε τη χρήση στατιστικών τύπων που προϋποθέτουν ανεξαρτησία Χρήση λανθασµένων µέτρων απόδοσης 15

16 ΜΕΡΟΣ 2ο : Προσέγγιση προβλήµατος 16

17 2.1 Κατανεµηµένα συστήµατα Ως κατανεµηµένο σύστηµα ορίζεται µία συλλογή από αυτόνοµα υπολογιστικά συστήµατα που αποτελούνται από ένα µεγάλο αριθµό από CPUs, συνδέονται µεταξύ τους µέσω δικτύου υψηλών ταχυτήτων και διαθέτουν ειδικό λογισµικό για κατανεµηµένα συστήµατα, το οποίο επιτρέπει στους Η/Υ να συντονίζουν τις ενέργειες τους και να διαµοιράζουν τους πόρους. Τα συστήµατα αυτά έχουν πολύ καλύτερο λόγο κόστους / απόδοσης σε σχέση µε τον αντίστοιχο ενός µεγάλου κεντρικοποιηµένου συστήµατος. Επίσης, ένα κατανεµηµένο σύστηµα µπορεί να έχει συνολικά περισσότερη υπολογιστική ισχύ από ένα κεντρικό υπολογιστικό σύστηµα. Αν µία µηχανή καταρρεύσει, το σύστηµα ως ολότητα µπορεί να συνεχίσει να λειτουργεί. 2.2 Συστήµατα πραγµατικού χρόνου Tα συστήµατα πραγµατικού χρόνου είναι υπολογιστικά συστήµατα, τα οποία πρέπει να αντιδρούν σε γεγονότα του περιβάλλοντος µέσα σε ακριβή χρονικά περιθώρια. Συνεπώς, η σωστή συµπεριφορά αυτών των συστηµάτων βασίζεται όχι µόνο στην τιµή του υπολογισµού αλλά και στον χρόνο κατά τον οποίο παράχθηκαν τα αποτελέσµατα. Μία αντίδραση που συµβαίνει πολύ αργά θα ήταν άχρηστη ή ακόµα και επικίνδυνη. Σήµερα, τα συστήµατα πραγµατικού χρόνου παίζουν έναν πάρα πολύ σηµαντικό ρόλο σε εφαρµογές ροµποτικής, σε στρατιωτικά συστήµατα, στις τηλεπικοινωνίες, κ.ά. 17

18 2.3 Επιθυµητά χαρακτηριστικά των συστηµάτων πραγµατικού χρόνου Υπάρχουν κάποιες πολύ σηµαντικές βασικές ιδιότητες τις οποίες πρέπει να διαθέτουν τα συστήµατα πραγµατικού χρόνου, για να µπορούν να υποστηρίξουν απαιτητικές - κρίσιµες εφαρµογές. Κάποιες από αυτές είναι : Χρόνος : Τα αποτελέσµατα πρέπει να είναι σωστά, όχι µόνο στην τιµή τους αλλά επίσης και στον τοµέα του χρόνου. Συνεπώς, ένα σύστηµα πραγµατικού χρόνου πρέπει να παρέχει συγκεκριµένους µηχανισµούς για την διαχείριση του χρόνου και για τον χειρισµό tasks µε συγκεκριµένους χρονικούς περιορισµούς και διαφορετικές απαιτήσεις Σχεδιασµός για φόρτο αιχµής : Τα συστήµατα πραγµατικού χρόνου δεν θα πρέπει να καταρρέουν όταν υπόκεινται σε συνθήκες µεγάλου φόρτου. Έτσι πρέπει να σχεδιάζονται ώστε να χειρίζονται όλα τα πιθανά σενάρια Πρόβλεψη : Για να εξασφαλισθεί ένα ελάχιστο επίπεδο απόδοσης, το σύστηµα πρέπει να είναι ικανό να προβλέπει τις συνέπειες για κάθε απόφαση Ανεκτικότητα σε σφάλµατα : Μεµονωµένες απώλειες στο υλικό ή στο λογισµικό δεν πρέπει να προκαλούν την κατάρρευση του συστήµατος. Γι αυτό, σηµαντικά µέρη ενός συστήµατος πραγµατικού χρόνου πρέπει να σχεδιάζονται έτσι ώστε να είναι ανεκτικά σε σφάλµατα 18

19 2.4 Περιγραφή Μοντέλου και Μεθοδολογίας Περιγραφή συστήµατος Πρόκειται για ένα κατανεµηµένο σύστηµα, πραγµατικού χρόνου µε P=16 επεξεργαστές. Κάθε ένας από τους επεξεργαστές διαθέτει τη δική του ουρά. Οι εργασίες φθάνουν στο σύστηµα µε ρυθµό άφιξης λ. Ο ρυθµός εξυπηρέτησης κάθε επεξεργαστή είναι µ. Κατά σταθερά διαστήµατα φθάνουν στο σύστηµα και κρίσιµες εργασίες, οι οποίες έχουν εκθετικό χρόνο εξυπηρέτησης. Κάθε κρίσιµη εργασία πρέπει να εξυπηρετηθεί τη στιγµή που έρχεται στο σύστηµα. Εάν δεν υπάρχει ελεύθερος επεξεργαστής, τότε γίνεται προεκχώρηση σε µια µη-κρίσιµη εργασία. Εάν όλοι οι επεξεργαστές είναι απασχοληµένοι µε µια κρίσιµη εργασία, τότε η καινούρια κρίσιµη που φθάνει στο σύστηµα θεωρείται απώλεια. Μία µη-κρίσιµη εργασία που προεκχωρείται µπαίνει πρώτη στην ουρά αναµονής. Σε περίπτωση που µία µη-κρίσιµη εργασία προεκχωρηθεί n φορές, θεωρείται απώλεια... Σχηµατική αναπαράσταση του µοντέλου του κατανεµηµένου συστήµατος 19

20 2.4.1 ιαδικασία Αφίξεων Κάθε µη-κρίσιµη εργασία που φθάνει στο σύστηµα, ξεκινάει την εκτέλεσή της, εφόσον υπάρχουν ελεύθεροι επεξεργαστές. ιαφορετικά η εργασία εισάγεται στην ουρά του επεξεργαστή, στον οποίο επιλέχθηκε να πάει (είτε τυχαία είτε µε επιλογή του επεξεργαστή µε την µικρότερη ουρά). Κάθε κρίσιµη εργασία που φθάνει στο σύστηµα, εάν υπάρχει ελεύθερος επεξεργαστής πηγαίνει εκεί. Εάν δεν υπάρχει ελεύθερος επεξεργαστής, τότε επιλέγει για να πάει, έναν επεξεργαστή που να είναι απασχοληµένος µε µία µη-κρίσιµη εργασία. Εάν όλοι οι επεξεργαστές έχουν κρίσιµες εργασίες τότε έχουµε µία απώλεια ιαδικασία Εξυπηρετήσεων Στην περίπτωση που κάποια εργασία δεν µπορεί να επεξεργασθεί τη στιγµή που φθάνει στο σύστηµα, αλλά εισάγεται σε κάποια ουρά, η επεξεργασία της αναβάλλεται για κάποια επόµενη χρονική στιγµή οπότε και είναι δυνατόν να πραγµατοποιηθεί. Ο έλεγχος των εργασιών που περιµένουν στις ουρές γίνεται µετά από κάθε αναχώρηση, διότι τότε ελευθερώνονται κάποιοι επεξεργαστές που µέχρι εκείνη τη στιγµή, ως απασχοληµένοι, αποτελούσαν εµπόδιο στην εξυπηρέτηση κάποιων εργασιών. Όλα όσα προαναφέρθηκαν, αφορούν τις µη-κρίσιµες εργασίες, εφόσον οι κρίσιµες εξυπηρετούνται τη στιγµή που φθάνουν αλλιώς χάνονται. 20

21 2.5 Παράµετροι Παράµετροι Συστήµατος Αναφερόµαστε στα χαρακτηριστικά που περιγράφουν το σύστηµα που θα µοντελοποιηθεί ώστε να µελετηθεί µε την προσοµοίωση και τα οποία µπορούµε να µεταβάλλουµε για να συγκρίνουµε την απόδοση του συστήµατος κάτω από διαφορετικές συνθήκες. Oι παράµετροι που συνήθως χρησιµοποιούνται είναι οι ακόλουθες : Αριθµός Επεξεργαστών Πρόκειται για τον αριθµό των επεξεργαστών του κατανεµηµένου συστήµατος. Η συγκεκριµένη µελέτη γίνεται µε 16 επεξεργαστές. Επιλογή επεξεργαστή Πρόκειται για το κριτήριο, µε βάση το οποίο, µία εργασία που φθάνει τώρα στο σύστηµα θα εισαχθεί σε κάποιον επεξεργαστή. Εάν δεν µπορεί να γίνει απευθείας η επεξεργασία, τότε η εργασία εισάγεται στην ουρά του επεξεργαστή (µη-κρίσιµες). Για τη συγκεκριµένη µελέτη χρησιµοποιείται η τυχαία ανάθεση τις επεξεργαστές καθώς και το κριτήριο του ελάχιστου µήκους ουράς. Μέγιστο µήκος ουράς Πρόκειται για το µέγιστο αριθµό προγραµµάτων που µπορούν να περιµένουν για επεξεργασία σε µία ουρά. Στη µελέτη αυτή θεωρούµε ότι τις πολύ µεγάλος αριθµών εργασιών µπορούν να περιµένουν στην ουρά (θεωρητικά άπειρες). 21

22 Πειθαρχία ουράς Πρόκειται για τον αλγόριθµο µε βάση τον οποίο, θα επιλεγεί µία εργασία που βρίσκεται στην ουρά και θα δροµολογηθεί στον αντίστοιχο επεξεργαστή για επεξεργασία. Στη µελέτη αυτή χρησιµοποιείται ο αλγόριθµος FCFS(First-Come-First-Served). Χρόνοι αφίξεων, Χρόνοι εξυπηρέτησης Πρόκειται για τις κατανοµές που χρησιµοποιούν οι µεταξύ των αφίξεων χρόνοι και οι χρόνοι εξυπηρέτησης. Στη συγκεκριµένη µελέτη χρησιµοποιείται για τις µη-κρίσιµες εργασίες, για τις αφίξεις και τις εξυπηρετήσεις, η εκθετική κατανοµή. Για τις κρίσιµες εργασίες, χρησιµοποιείται για τις αφίξεις η σταθερή κατανοµή και για τις εξυπηρετήσεις η εκθετική και η σταθερή. Τερµατισµός Προσοµοίωσης Η προσοµοίωση ολοκληρώνεται αµέσως µόλις ικανοποιηθεί κάποια συνθήκη τέλους. Στη συγκεκριµένη µελέτη ως συνθήκη τέλους, θεωρούµε τη χρονική στιγµή κατά την οποία το ρολόι της προσοµοίωσης έχει την τιµή

23 2.5.2 Παράµετροι Απόδοσης Για τη µελέτη του συστήµατος υπολογίζονται οι τιµές κάποιων µετρικών. Βασιζόµενοι στα αποτελέσµατα των συγκεκριµένων υπολογισµών, θα εξαχθούν συµπεράσµατα για τα πλεονεκτήµατα ή τα µειονεκτήµατα της χρησιµοποίησης της εκάστοτε µεθόδου, καθώς και για το πώς επηρεάζεται η απόδοση του συστήµατος. Παρακάτω ακολουθούν κάποιες από τις µετρικές αυτές : Χρησιµοποίηση επεξεργαστή (Utilization) : Υπολογίζεται αρχικά η χρησιµοποίηση κάθε επεξεργαστή ξεχωριστά, δηλαδή το ποσοστό του χρόνου που αυτός ήταν απασχοληµένος. Έπειτα υπολογίζεται η µέση χρησιµοποίηση του συστήµατος. Χρησιµοποίηση i επεξεργαστή : Utilization i TotalTime Pr ossesorbusy = TotalTime Συνολική χρησιµοποίηση : Utilization system p i= = 1 Utilization p i Μέση καθυστέρηση στην ουρά : Η µέση καθυστέρηση στην ουρά, υπολογίζεται για όλο το σύστηµα, και εκφράζει το µέσο χρόνο αναµονής των εργασιών στην ουρά, πριν απασχολήσουν κάποιον επεξεργαστή. Μέση καθυστέρηση στην ουρά : MeanQueueDelay system = NumOf Pr ograms i= 1 QueueDelay NumOf Pr ograms i 23

24 Μέσο µήκος ουράς (Mean Queue Length) : Το µέσο µήκος ουράς υπολογίζεται για κάθε επεξεργαστή και για το σύστηµα συνολικά και εκφράζει τον αριθµό των προγραµµάτων που περιµένουν για εξυπηρέτηση στην ουρά. Έστω Τ(j) ο συνολικός χρόνος για τον οποίο υπήρχαν στην ουρά j προγράµµατα. Μέσο µήκος ουράς ι επεξεργαστή : MeanQueueLength i = j j * T ( j) TotalTime Μέσο µήκος ουράς (συνολικά) : MeanQueueLength= NumberOf Pr ocessors i= 1 MeanQueueLength NumberOf Processors Μέσος χρόνος στο σύστηµα (Mean System Time) : Ο µέσος χρόνος στο σύστηµα υπολογίζεται για το σύστηµα συνολικά και δηλώνει το συνολικό χρόνο για τον οποίο προγράµµατα παρέµειναν στο σύστηµα από τη στιγµή της άφιξής τους µέχρι τη στιγµή της αναχώρησής τους. Ισούται µε το άθροισµα του χρόνου καθυστέρησης στην ουρά συν τον απαιτούµενο χρόνο για επεξεργασία. Μέσος χρόνος στο σύστηµα : MeanSystemTime system = NumOfDeparts i= 1 SystemTime NumOfDeparts i 24

25 ΜΕΡΟΣ 3ο : Υλοποίηση Προγράµµατος 25

26 3.1 Βασικές οµές Κώδικα Γενικά για την υλοποίηση Το πρόγραµµα της προσοµοίωσης για την µελέτη της απόδοσης του κατανεµηµένου συστήµατος πραγµατικού χρόνου υλοποιήθηκε σε C++. Η συγκεκριµένη γλώσσα προγραµµατισµού βασίζεται σε ένα πολύ σηµαντικό χαρακτηριστικό, την αντικειµενοστρέφεια. Έτσι δίνεται η δυνατότητα να µοντελοποιηθούν οι διάφορες οντότητες ενός συστήµατος σε κλάσεις και αντικείµενα, στοιχεία εύκολα υλοποιήσιµα χρησιµοποιώντας τις δυνατότητες τις γλώσσας. Η γενική µορφή του προγράµµατος δίνεται παρακάτω : Αρχικοποίηση Αρχικοποίησε τους στατιστικούς µετριτές Τοποθέτησε στη λίστα γεγονότων, τα γεγονότα µε τα οποία θα ξεκινάει η προσοµοίωση και ίσως και το γεγονός τερµατισµού Κυρίως Πρόγραµµα Μέχρι το τέλος της προσοµοίωσης επαναλάµβανε : Προχώρησε το ρολόι ώστε να δείχνει το χρόνο του πιο επικείµενου γεγονότος Ενηµέρωσε τους στατιστικούς µετρητές Εκτέλεσε το τρέχον γεγονός καλώντας την αντίστοιχη ρουτίνα γεγονότος Έλεγχος για το τέλος της προσοµοίωσης Αναφορά Αποτελεσµάτων 26

27 3.1.2 Σταθερές του προγράµµατος Για την υλοποίηση του προγράµµατος, χρησιµοποιήθηκαν οι παρακάτω σταθερές, ορισµένες από τις οποίες βοηθούν στη διάκριση µεταξύ εναλλακτικών δυνατοτήτων µελέτης του συστήµατος : Σταθερά Περιγραφή #define QLimit Σταθερά, η οποία ορίζει το µέγιστο µήκος ουράς να είναι ίσο µε #define BUSY 1 #define IDLE 0 Σταθερές που χρησιµοποιούνται για τον χαρακτηρισµό της κατάστασης κάθε επεξεργαστή #define CRITICAL_EVENT 1 #define SIMPLE_EVENT 0 #define NO_EVENT -1 Σταθερές που χρησιµοποιούνται για το χαρακτηρισµό ενός γεγονότος που µπορεί να συµβεί στο σύστηµα (κρίσιµο, µη-κρίσιµο, όχι-γεγονός) #define NUMBER_OF_CPUs 16 Σταθερά που ορίζει τον αριθµό των επεξεργαστών #define MAX_NUM_EVENTS 5 Η σταθερά αυτή ορίζει το µέγιστο αριθµό γεγονότων-συµβάντων που µπορούµε να έχουµε στο σύστηµα (ERROR=0, ARRIVAL=1, DEPARTURE=2, CRITICAL_ARRIVAL=3, END=4 ) 27

28 3.1.3 Μεταβλητές του προγράµµατος Για την υλοποίηση του προγράµµατος, χρησιµοποιήθηκαν οι παρακάτω µεταβλητές, οι οποίες υλοποιούν τις παραµέτρους περιγραφής του µοντέλου προσοµοίωσης : Μεταβλητή Περιγραφή float mean_interarrival float mean_interarrival_critical float mean_service Οι τρεις αυτές µεταβλητές διαβάζονται από το αρχείο input.txt και αφορούν τις τιµές των µεταξύ των αφίξεων χρόνων, για τις κρίσιµες και τις µη-κρίσιµες, καθώς και τους χρόνους εξυπηρέτησης float time_end Η µεταβλητή αυτή διαβάζεται από το αρχείο input.txt και ορίζει το χρόνο που θα τελειώσει double time Το ρολόι της προσοµοίωσης int NUMBER_OF_PREEMPTIONS Η µεταβλητή αυτή καθορίζει των αριθµό των φορών που µια µηκρίσιµη εργασία µπορεί να προεκχωρηθεί. Αν προεκχωρηθεί έπειτα άλλη µία φορά, τότε έχουµε µία απώλεια στις µη-κρίσιµες εργασίες 28

29 Μεταβλητή Περιγραφή int server Η ακέραια αυτή µεταβλητή καθορίζει τον επεξεργαστή στον οποίο έχουµε µία άφιξη ή µία αναχώρηση κατά την τρέχουσα χρονική στιγµή. int next_event_type Καθορίζει τον τύπο του επόµενου γεγονότος που θα έρθει στο σύστηµα (ERROR=0, ARRIVAL=1, DEPARTURE=2, CRITICAL_ARRIVAL=3, END=4 ) int num_of_critical_losses Η τιµή της µεταβλητής αυτής καθορίζει τον αριθµό των κρίσιµων εργασιών που έχουν χαθεί (απώλειες) int total_simple_losses Η τιµή της µεταβλητής αυτής καθορίζει τον αριθµό των µηκρίσιµων εργασιών που έχουν χαθεί (απώλειες)

30 3.1.4 Κλάσεις του προγράµµατος Κλάση Distribute Η κλάση αυτή υλοποιεί τις κατανοµές οι οποίες χρησιµοποιούνται στη συγκεκριµένη µελέτη, δηλαδή την εκθετική και την σταθερή. Στον παρακάτω πίνακα παρατίθενται οι µέθοδοι της παραπάνω κλάσης: Όνοµα Μεθόδου double Random (double *y) double Expon (double mean,double *y) double Stable (double Time) Περιγραφή Παράγει έναν τυχαίο αριθµό στο διάστηµα 0-1 Υλοποιεί τη συνάρτηση παραγωγής εκθετικά κατανεµηµένων µεταβλητών Υλοποιεί την σταθερή κατανοµή Κλάση Event Η κλάση αυτή υλοποιεί τα γεγονότα-εργασίες τα οποία έρχονται στο σύστηµα ανά χρονικά διαστήµατα(εκθετικά για τις µη-κρίσιµες εργασίες και σταθερά για τις κρίσιµες).η κλάση αυτή έχει τα παρακάτω χαρακτηριστικά (attributes) : Χαρακτηριστικά double time_of_event double time_of_arrival_in_queue double required_time_in_cpu int num_of_preemptions Περιγραφή Η χρονική στιγµή κατά την οποία έφθασε η εργασία στο σύστηµα Η χρονική στιγµή κατά την οποία η εργασία εισήχθη στην ουρά Ο απαιτούµενος χρόνος επεξεργασίας της εργασίας Ο αριθµός των φορών που προεκχωρήθηκε η εργασία

31 int type_of_event Event* ptr Χαρακτηριστικά Περιγραφή Ο τύπος του γεγονότος-εργασίας, δηλαδή αν είναι κρίσιµη ή µη-κρίσιµη Ένας δείκτης σε ένα αντικείµενο τύπου Event για την υλοποίηση της ουράς Η κλάση Event υλοποιεί τις παρακάτω µεθόδους : Όνοµα Μεθόδου Περιγραφή double get_time_of_event(void) Συνάρτηση που επιστρέφει τον χρόνο άφιξης του γεγονότος void set_time_of_event(double time) Συνάρτηση που θέτει τον χρόνο άφιξης του γεγονότος ίσο µε time double get_time_of_arrival_in_queue(void) Επιστρέφει τον χρόνο άφιξης του γεγονότος την ουρά set_time_of_arrival_in_queue(double time) Θέτει τον χρόνο άφιξης του γεγονότος στην ουρά ίσο µε time int get_type_of_event(void) Επιστρέφει τον τύπο του γεγονότος void set_type_of_event (int type) Θέτει τον τύπο του γεγονότος ίσο µε type double get_required_time_in_cpu (void) Επιστρέφει τον χρόνο που χρειάζεται στην CPU το γεγονός set_required_time_in_cpu (double time) Θέτει τον απαιτούµενο χρόνο στη CPU ίσο µε time int get_num_of_preemptions (void) Επιστρέφει τον αριθµό των φορών που προεκχωρήθηκε τη εργασία void increase_num_of_preemptions (void) Αυξάνει τον αριθµό των προεκχωρήσεων κατά ένα 31

32 Κλάση Queue Η κλάση αυτή υλοποιεί την ουρά κάθε επεξεργαστή του συστήµατος. Όταν ο επεξεργαστής είναι απασχοληµένος, οι εργασίες τοποθετούνται στο τέλος της αντίστοιχης ουράς. Η επόµενη προς εξυπηρέτηση εργασία είναι αυτή που βρίσκεται πρώτη στην ουρά. Όταν µία εργασία προεκχωρείται τότε τοποθετείται πρώτη στην ουρά. Στην ουρά τοποθετούνται µόνο µη-κρίσιµες εργασίες. Η κλάση αυτή έχει τα παρακάτω χαρακτηριστικά (attributes) : Χαρακτηριστικά Event* head_ptr Event* tail_ptr Event* event_ptr long int queue_size Περιγραφή είκτης σε ένα αντικείµενο τύπου Event,που δείχνει πάντα στην κεφαλή της ουράς είκτης σε ένα αντικείµενο τύπου Event,που δείχνει πάντα στο τέλος της ουράς είκτης σε ένα αντικείµενο τύπου Event Ο αριθµός των εργασιών που βρίσκονται στην ουρά Η κλάση Queue υλοποιεί τις παρακάτω µεθόδους : Όνοµα Μεθόδου long int get_queue_size(void) void increase_queue_size() Περιγραφή Συνάρτηση που επιστρέφει το µήκος της ουράς, δηλαδή τον αριθµό των εργασιών που βρίσκονται σε αυτή Συνάρτηση που αυξάνει το µήκος της ουράς κατά ένα, όταν έχουµε µια άφιξη στην ουρά 32

33 Όνοµα Μεθόδου void decrease_queue_size() void Enqueue (Event* node) Event* Dequeue() void Enqueue_on_top (Event* node) Περιγραφή Συνάρτηση που µειώνει το µήκος της ουράς κατά ένα, όταν έχουµε µια αναχώρηση από την ουρά Η συνάρτηση αυτή τοποθετεί στο τέλος της ουράς ένα αντικείµενο τύπου Event Η συνάρτηση αυτή βγάζει από την αρχή της ουράς ένα αντικείµενο τύπου Event Η συνάρτηση αυτή τοποθετεί στην αρχή της ουράς ένα αντικείµενο τύπου Event. Αυτό γίνεται µόνο στην περίπτωση που το γεγονός-εργασία έχει προεκχωρηθεί Κλάση Cpu Η κλάση αυτή υλοποιεί τους επεξεργαστές του συστήµατος. Κάθε επεξεργαστής αποτελεί µια βασική δοµική µονάδα που συµβάλλει στην οµαλή λειτουργία του συστήµατος παρέχοντας εξυπηρέτηση σε εργασίες σε κάθε χρονική στιγµή. Επίσης αξίζει να αναφέρουµε, ότι για κάθε επεξεργαστή υπάρχει και µία ουρά, όπου περιµένουν οι εργασίες που δεν µπορούν να δεχθούν απευθείας εξυπηρέτηση. Η κλάση αυτή έχει τα παρακάτω χαρακτηριστικά (attributes) : int cpu_status Χαρακτηριστικά Περιγραφή Αφορά την κατάσταση του επεξεργαστή, εάν δηλαδή αυτός είναι απασχοληµένος ή όχι ( BUSY, IDLE ) 33

34 Χαρακτηριστικά unsigned int num_progs_delayed int num_critical_progs_delayed double total_delays double time_last_event unsigned int num_of_losses Queue cpu_queue Event next_event [MAX_NUM_EVENTS] double current_event_required_time_in_cpu int current_event_num_of_preemptions int current_event_type Περιγραφή Αφορά τον αριθµό των µη-κρίσιµων εργασιών που έχουν εξυπηρετηθεί από τον επεξεργαστή Αφορά τον αριθµό των κρίσιµων εργασιών που έχουν εξυπηρετηθεί από τον επεξεργαστή Οι συνολικές καθυστερήσεις των εργασιών στην ουρά του επεξεργαστή Ο χρόνος στον οποίο έφυγε η τελευταία εργασία από τον επεξεργαστή Ο συνολικός αριθµός των απωλειών, των µη-κρίσιµων εργασιών Ένα αντικείµενο της κλάσης Queue, που υλοποιεί την ουρά του επεξεργαστή Ένας πίνακας µε αντικείµενα της κλάσης Event, που καθορίζει πότε θα συµβεί το επόµενο γεγονός από κάθε τύπο γεγονότος Ο χρόνος επεξεργασίας της τρέχουσας εργασίας Ο αριθµός των φορών που προεκχωρήθηκε η τρέχουσα εργασία Ο τύπος της τρέχουσας εργασίας CRITICAL_EVENT = 1 (κρίσιµη) SIMPLE_EVENT = 0 (µη-κρίσιµη) 34

35 Η κλάση Cpu υλοποιεί τις παρακάτω µεθόδους : Όνοµα Μεθόδου void update_time_avg_stats (void) int get_cpu_status (void) void set_cpu_status (int status) double get_total_delays (void) void increase_total_delays (double delay) int get_num_of_losses (void) void increase_num_of_losses (void) int get_num_progs_delayed (void) int get_num_critical_progs_delayed (void) Περιγραφή Ενηµερώνει τους στατιστικούς µετρητές για τον συγκεκριµένο επεξεργαστή Επιστρέφει την τρέχουσα κατάσταση του επεξεργαστή Αλλάζει την κατάσταση του επεξεργαστή σε status Επιστρέφει τις συνολικές καθυστερήσεις Αυξάνει τις συνολικές καθυστερήσεις κατά την ποσότητα delay Επιστρέφει τον αριθµό των απωλειών, των µη-κρίσιµων εργασιών Αυξάνει τον αριθµό των απωλειών, των µη-κρίσιµων εργασιών Επιστρέφει τον αριθµό των µηκρίσιµων εργασιών που έχουν εξυπηρετηθεί από τον επεξεργαστή Επιστρέφει τον αριθµό των κρίσιµων εργασιών που έχουν εξυπηρετηθεί από τον επεξεργαστή 35

36 3.1.5 Συναρτήσεις του προγράµµατος Στο πρόγραµµα χρησιµοποιήθηκαν οι παρακάτω συναρτήσεις : void initialize (void) Είναι η συνάρτηση αρχικοποίησης. Στέλνει σε όλους τους επεξεργαστές τη χρονική στιγµή κατά την οποία θα συµβεί η άφιξη της πρώτης µηκρίσιµης και της πρώτης κρίσιµης εργασίας, καθώς και τη χρονική στιγµή που θα τελειώσει η προσοµοίωση. void timing (void) Η συνάρτηση timing καθορίζει το επόµενο γεγονός που θα συµβεί, δηλαδή το εγγύτερο, καθώς και τι τύπου είναι. Αν το επόµενο γεγονός είναι µία αναχώρηση, τότε καθορίζει και σε ποιον επεξεργαστή θα συµβεί. Αν το επόµενο γεγονός είναι η άφιξη µιας µη-κρίσιµης εργασίας, και η κατανοµή των εργασιών στους επεξεργαστές γίνεται τυχαία, τότε καλεί τη συνάρτηση choose_server (). Αν το επόµενο γεγονός είναι η άφιξη µιας µη-κρίσιµης εργασίας, και η κατανοµή των εργασιών στους επεξεργαστές γίνεται µε βάση το µήκος της ουράς τους, τότε καλεί τη συνάρτηση choose_server_q (). Εάν το επόµενο γεγονός είναι η άφιξη κρίσιµης εργασίας τότε καλεί τη συνάρτηση choose_critical_server(). Όλες οι συναρτήσεις που αναφέρθηκαν καλούνται για να καθοριστεί σε ποιον επεξεργαστή θα συµβεί η άφιξη. void choose_server (void) Η συνάρτηση αυτή καλεί τη συνάρτηση rand() για να καθορίσει τυχαία, σε ποιον από τους 16 επεξεργαστές θα πάει η εργασία 36

37 void choose_server_q (void) Η συνάρτηση αυτή ψάχνει από όλους τους επεξεργαστές, αυτόν µε τη µικρότερη ουρά, για να στείλει εκεί την εργασία που ζητάει εξυπηρέτηση. Η αναζήτηση ξεκινάει από έναν επεξεργαστή τυχαία. void choose_critical_server (void) Η συνάρτηση αυτή καθορίζει σε ποιον επεξεργαστή θα εκτελεσθεί µία κρίσιµη εργασία που έφθασε στο σύστηµα. Ο αλγόριθµος είναι ο εξής : 1) ιάλεξε τυχαία έναν επεξεργαστή ( first_server ) Εάν είναι ελεύθερος, στείλε την κρίσιµη εργασία εκεί Εάν είναι απασχοληµένος, ψάξε κυκλικά για τον πρώτο που θα βρεις ελεύθερο 2) Εάν κανείς δεν είναι ελεύθερος, ξεκίνα πάλι από τον first_server Ψάξε µε κυκλική σειρά τον πρώτο που θα βρεις µε µία µη-κρίσιµη εργασία και στείλε το κρίσιµο εκεί 3) Εάν όλοι οι επεξεργαστές έχουν κρίσιµες εργασίες τότε αύξησε τις απώλειες των κρίσιµων εργασιών void arrive (void) Συνάρτηση άφιξης µιας µη-κρίσιµης εργασίας σε κάποιον επεξεργαστή. Αρχικά καθορίζει τη χρονική στιγµή κατά την οποία θα συµβεί η επόµενη άφιξη. Έπειτα έχουµε 2 περιπτώσεις που µπορεί να συµβούν : 37

38 1. Ο επεξεργαστής να είναι απασχοληµένος (BUSY). Στην περίπτωση αυτή, ενηµερώνουµε τις µεταβλητές που αφορούν την συγκεκριµένη εργασία και έπειτα την εισάγουµε στο τέλος της ουράς 2. Ο επεξεργαστής να είναι ελεύθερος (IDLE). Στην περίπτωση αυτή, η εργασία αρχίζει αµέσως την εκτέλεσή της στον επεξεργαστή και καθορίζει τη χρονική στιγµή που θα φύγει. void critical_arrive (void) Η συνάρτηση αυτή καλείται µε την άφιξη µιας κρίσιµης εργασίας στο σύστηµα. Αρχικά καθορίζεται η χρονική στιγµή της επόµενης άφιξης µιας κρίσιµης εργασίας. Έπειτα υπάρχουν δύο περιπτώσεις : 1. Ο επεξεργαστής να είναι απασχοληµένος (BUSY) µε µία µηκρίσιµη εργασία. Στην περίπτωση αύτη, σταµατάει η εκτέλεση της µη-κρίσιµης εργασίας, αποθηκεύονται οι τιµές των µεταβλητών που την αφορούν και εισάγεται η εργασία στην αρχή της ουράς του επεξεργαστή. Η κρίσιµη εργασία αρχίζει την εκτέλεσή της στον ελεύθερο πια επεξεργαστή, και καθορίζει τη χρονική στιγµή στην οποία θα τελειώσει την εκτέλεσή της. 2. Ο επεξεργαστής να είναι ελεύθερος (IDLE). Στην περίπτωση αύτη, η κρίσιµη εργασία ξεκινάει αµέσως την εκτέλεσή της και καθορίζει τη χρονική στιγµή στην οποία θα τελειώσει και θα φύγει από το σύστηµα. Αξίζει εδώ να επισηµάνουµε ότι από τη στιγµή που µία κρίσιµη εργασία ξεκινήσει την εκτέλεσή της, θα ελευθερώσει τον επεξεργαστή µόνο όταν τελειώσει. εν υπάρχει δηλαδή περίπτωση να προεκχωρηθεί µια κρίσιµη εργασία. 38

39 void depart (void) Κατά την αποχώρηση µιας εργασίας, είτε είναι κρίσιµη είτε όχι, ελέγχεται εάν υπάρχουν άλλες εργασίες που περιµένουν στην ουρά. Εάν υπάρχουν, τότε η εργασία που βρίσκεται πρώτη αφαιρείται από την ουρά και ελέγχουµε εάν έχει προεκχωρηθεί παραπάνω φορές από όσο πρέπει. Εάν ναι, τότε αυξάνουµε τον αριθµό των απωλειών των µηκρίσιµων εργασιών και αφαιρούµε από την ουρά την επόµενη εργασία, η οποία αρχίζει την εκτέλεσή της. Μία εργασία η οποία έχει προεκχωρηθεί, όταν ξαναρχίσει την εκτέλεσή της στον επεξεργαστή, ξεκινάει από την αρχή την εκτέλεσή της και για τόσο χρόνο, όσο είχε απαιτήσει την πρώτη φορά που ήρθε για εκτέλεση. void report (void) Η συνάρτηση αυτή τυπώνει στο αρχείο output.txt τα αποτελέσµατα που προέκυψαν για κάθε επεξεργαστή αλλά και κάποια συνολικά αποτελέσµατα. 39

40 ΜΕΡΟΣ 4ο : Μελέτη της Απόδοσης 40

41 4.1 ιεξαγωγή Πειραµάτων Ένας µεγάλος αριθµός πειραµάτων διεξήχθησαν για τη µελέτη της απόδοσης του συστήµατος. Σε όλα τα πειράµατα χρησιµοποιείτε ο συµβολισµός (ν, κ), όπου ν είναι ένας αριθµός που δηλώνει τον αριθµό των µη-κρίσιµων αφίξεων στην µονάδα του χρόνου, ενώ µε κ δηλώνουµε των αριθµό των κρίσιµων αφίξεων στην µονάδα του χρόνου. Έτσι π.χ. όπου υπάρχει το (8,6), εννοούµε 8 µη-κρίσιµες και 6 κρίσιµες αφίξεις εργασιών στη µονάδα του χρόνου. Σε όλες τις σειρές πειραµάτων, εκτελούµε πειράµατα µε Number of preemptions =1,2,3, όπου Number of preemptions ο αριθµός των φορών που µια εργασία µπορεί να προεκχωρηθεί. Εάν προεκχωρηθεί µια εργασία πάνω από Number of preemptions φορές θεωρείται απώλεια. Χρησιµοποιούνται σε όλα τα πειράµατα 16 επεξεργαστές και η προσοµοίωση τελειώνει στο χρόνο Για µεγαλύτερη ευκολία στη µελέτη και στην εξαγωγή συµπερασµάτων, οι εκτελέσεις των πειραµάτων χωρίζονται στις παρακάτω κατηγορίες : 1 η Σειρά Πειραµάτων Τυχαία διαµοίραση των εργασιών στους επεξεργαστές. Χρησιµοποιείται η εκθετική κατανοµή στις αφίξεις και στους χρόνους εξυπηρέτησης των µη-κρίσιµων εργασιών Χρησιµοποιείται η σταθερή κατανοµή στις αφίξεις των κρίσιµων εργασιών και εκθετικοί χρόνοι εξυπηρέτησης 41

42 2 η Σειρά Πειραµάτων Τυχαία διαµοίραση των εργασιών στους επεξεργαστές. Χρησιµοποιείται η εκθετική κατανοµή στις αφίξεις και στους χρόνους εξυπηρέτησης των µη-κρίσιµων εργασιών Χρησιµοποιείται η σταθερή κατανοµή στις αφίξεις των κρίσιµων εργασιών και στους χρόνους εξυπηρέτησης (µ = 1) 3 η Σειρά Πειραµάτων ιαµοίραση των εργασιών στους επεξεργαστές σύµφωνα µε το µικρότερο µήκος ουράς Χρησιµοποιείται η εκθετική κατανοµή στις αφίξεις και στους χρόνους εξυπηρέτησης των µη-κρίσιµων εργασιών Χρησιµοποιείται η σταθερή κατανοµή στις αφίξεις των κρίσιµων εργασιών και εκθετικοί χρόνοι εξυπηρέτησης 4 η Σειρά Πειραµάτων ιαµοίραση των εργασιών στους επεξεργαστές σύµφωνα µε το µικρότερο µήκος ουράς Χρησιµοποιείται η εκθετική κατανοµή στις αφίξεις και στους χρόνους εξυπηρέτησης των µη-κρίσιµων εργασιών Χρησιµοποιείται η σταθερή κατανοµή στις αφίξεις των κρίσιµων εργασιών και στους χρόνους εξυπηρέτησης (µ = 1) 42

43 η Σειρά Πειραµάτων Τυχαία διαµοίραση των εργασιών στους επεξεργαστές. Χρησιµοποιείται η εκθετική κατανοµή στις αφίξεις και στους χρόνους εξυπηρέτησης των µη-κρίσιµων εργασιών Χρησιµοποιείται η σταθερή κατανοµή στις αφίξεις των κρίσιµων εργασιών και εκθετικοί χρόνοι εξυπηρέτησης -) Απώλειες κρίσιµων εργασιών Number of preemptions (8, 4) (8, 6) (7, 7) (10, 4) number of critical losses 2,5 2 1,5 1 0, (8, 4) (8, 6) (7, 7) (10, 4) (non-critical arrival, critical arrival) Παρατηρήσεις : Βλέπουµε ότι έχουµε 2 απώλειες κρίσιµων εργασιών για αριθµό προεκχωρήσεων 1,2,3 όταν έχουµε 7 αφίξεις µη-κρίσιµων και 7 αφίξεις κρίσιµων εργασιών στη µονάδα του χρόνου Σε όλες τις υπόλοιπες περιπτώσεις δεν έχουµε απώλειες κρίσιµων εργασιών 43

44 -) Απώλειες µη-κρίσιµων εργασιών Number of preemptions (8, 4) 35,18 2,6 0,31 (8, 6) 285,37 166,93 223,31 (7, 7) 335,68 218, (10, 4) 207,5 79,62 68, number of non-critical losses ,68 285, ,31 218,75 207,5 166,93 79,62 68,43 35,18 2,60,31 (8, 4) (8, 6) (7, 7) (10, 4) (non-critical arrival, critical arrival) Παρατηρήσεις : Παρατηρούµε ότι όταν έχουµε µικρό αριθµό αφίξεων κρίσιµων εργασιών στη µονάδα του χρόνου ( (8,4), (10,4) ), ο αριθµός των απωλειών των µη-κρίσιµων εργασιών µειώνεται, καθώς αυξάνουµε το Number of preemptions. Αυτό συµβαίνει διότι µία µηκρίσιµη εργασία θεωρείται απώλεια πιο δύσκολα, αφού της επιτρέπεται να προεκχωρηθεί περισσότερες φορές Αντίθετα, στις περιπτώσεις ( (8,6), (7,7) ), όπου οι κρίσιµες εργασίες έρχονται πιο συχνά, παρατηρούµε ότι όταν το Number of preemptions είναι ίσο µε 3, έχουµε µία αύξηση των απωλειών. Αυτό συµβαίνει γιατί έρχονται περίπου τόσες κρίσιµες όσες και 44

45 µη-κρίσιµες εργασίες και έτσι προεκχωρούνται περισσότερες φορές οι µη-κρίσιµες εργασίες απ ότι στην προηγούµενη περίπτωση. Επίσης, τα µήκη των ουρών των επεξεργαστών όλο και αυξάνονται και έτσι µία κρίσιµη εργασία δεν βρίσκει εύκολα άδειο επεξεργαστή και προεκχωρεί µία µη-κρίσιµη εργασία. -) Χρησιµοποίηση επεξεργαστή Number of preemptions (8, 4) 0,746 0,754 0,754 (8, 6) 0,844 0,896 0,952 (7, 7) 0,841 0,896 0,948 (10, 4) 0,854 0,901 0, server utilization 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 0,952 0,948 0,942 0,896 0,896 0,901 0,844 0,841 0,854 0,746 0,754 0,754 (8, 4) (8, 6) (7, 7) (10, 4) (non-critical arrival, critical arrival) Παρατηρήσεις : Η µέση χρησιµοποίηση των επεξεργαστών αυξάνεται όσο αυξάνεται η µεταβλητή Number of preemptions, κάτι που είναι λογικό διότι µία µη-κρίσιµη εργασία µένει για περισσότερο χρόνο στο σύστηµα και έχει περισσότερες ευκαιρίες για επεξεργασία από τον επεξεργαστή πριν θεωρηθεί απώλεια. 45

46 -) Μέσος αριθµός εργασιών στην ουρά Number of preemptions (8, 4) 0,759 0,803 0,8 (8, 6) 0,875 1,53 3,81 (7, 7) 0,684 1,211 2,82 (10, 4) 1,41 2,4 4, average number of jobs in queue ,79 3,81 2,82 2,4 1,53 1,211 1,41 0,759 0,8030,8 0,875 0,684 (8, 4) (8, 6) (7, 7) (10, 4) (non-critical arrival, critical arrival) Παρατηρήσεις : Παρατηρούµε ότι όσο µεγαλώνει η τιµή της µεταβλητής Number of preemptions, αυξάνεται και ο αριθµός των προγραµµάτων στην ουρά. Αυτό µπορεί να εξηγηθεί ως εξής: Κάθε µη-κρίσιµη εργασία καταλαµβάνει περισσότερο χρόνο στον επεξεργαστή, αφού όταν προεκχωρείται αρχίζει την εκτέλεσή της από την αρχή. Έτσι όσο αυξάνουµε τον αριθµό των φορών που µπορεί να προεκχωρηθεί µια εργασία, τόσο περισσότερο γεµίζουν οι ουρές των επεξεργαστών. 46

47 η Σειρά Πειραµάτων Τυχαία διαµοίραση των εργασιών στους επεξεργαστές. Χρησιµοποιείται η εκθετική κατανοµή στις αφίξεις και στους χρόνους εξυπηρέτησης των µη-κρίσιµων εργασιών Χρησιµοποιείται η σταθερή κατανοµή στις αφίξεις των κρίσιµων εργασιών και στους χρόνους εξυπηρέτησης (µ = 1) -) Απώλειες κρίσιµων εργασιών Στην περίπτωση αυτή, όπου οι κρίσιµες εργασίες έχουν σταθερό χρόνο εξυπηρέτησης ίσο µε 1, δεν υπάρχουν απώλειες κρίσιµων εργασιών όπως φαίνεται και στον παρακάτω πίνακα. Number of preemptions (8, 4) (8, 6) (7, 7) (10, 4) Παρατηρήσεις : εδοµένου ότι οι κρίσιµες εργασίες έχουν σταθερό χρόνο εξυπηρέτησης ίσο µε 1, είναι αναµενόµενο να µην έχουµε απώλειες. Αυτό συµβαίνει διότι, οι κρίσιµες εργασίες απασχολούν για σύντοµο χρονικό διάστηµα τον επεξεργαστή και έτσι δεν τυχαίνει η περίπτωση στην οποία και οι 16 επεξεργαστές έχουν από µία κρίσιµη εργασία. 47

48 -) Απώλειες µη-κρίσιµων εργασιών Number of preemptions (8, 4) 14,625 0,5 0 (8, 6) 250,81 146,25 273,18 (7, 7) 278,56 192,31 328,75 (10, 4) 133,43 36,93 20, number of non-critical losses ,75 250,81 273,18 278,56 192,31 146,25 133,43 36,93 14,625 20,37 0,5 0 (8, 4) (8, 6) (7, 7) (10, 4) (non-critical arrival, critical arrival) Παρατηρήσεις : Βλέπουµε ότι ο αριθµός των απωλειών στις µη-κρίσιµες εργασίες µειώνεται σε σχέση µε την 1 η σειρά πειραµάτων όπου είχαµε εκθετικούς χρόνους εξυπηρέτησης. Αύξηση παρατηρείται µόνο όταν το Number of preemptions είναι ίσο µε 3,στις περιπτώσεις ( ( 8, 6 ), ( 7,7 ) ). Αυτό συµβαίνει γιατί, όπως θα δούµε παρακάτω, ο µέσος αριθµός προγραµµάτων στην ουρά αυξάνει πάρα πολύ και έτσι είναι πιο πιθανό µία εργασία να προεκχωρηθεί αρκετές φορές και να θεωρηθεί απώλεια. 48

49 -) Χρησιµοποίηση επεξεργαστή Number of preemptions (8, 4) 0,748 0,751 0,751 (8, 6) 0,851 0,903 0,965 (7, 7) 0,852 0,902 0,955 (10, 4) 0,862 0,893 0,911 1, server utilization 1 0,8 0,6 0,4 0,2 0,748 0,751 0,751 0,965 0,955 0,903 0,902 0,851 0,852 0,862 0,893 0,911 0 (8, 4) (8, 6) (7, 7) (10, 4) (non-critical arrival, critical arrival) Παρατηρήσεις : Βλέπουµε ότι η µέση χρησιµοποίηση των επεξεργαστών παραµένει περίπου στα ίδια επίπεδα µε πριν. 49

50 -) Μέσος αριθµός εργασιών στην ουρά Number of preemptions (8, 4) 0,634 0,649 0,648 (8, 6) 0,709 1,355 4,896 (7, 7) 0,544 1,031 3,02 (10, 4) 1,247 1,796 2, average number of jobs in queue ,896 3,02 2,459 1,796 1,355 1,247 1,031 0,634 0,649 0,648 0,709 0,544 (8, 4) (8, 6) (7, 7) (10, 4) (non-critical arrival, critical arrival) Παρατηρήσεις : Παρατηρούµε ότι όσο µεγαλώνει η τιµή της µεταβλητής Number of preemptions, αυξάνεται και ο αριθµός των προγραµµάτων στην ουρά. Ιδιαίτερη αύξηση βλέπουµε στην περίπτωση ( 8, 6 ). 50

51 η Σειρά Πειραµάτων ιαµοίραση των εργασιών στους επεξεργαστές σύµφωνα µε το µικρότερο µήκος ουράς Χρησιµοποιείται η εκθετική κατανοµή στις αφίξεις και στους χρόνους εξυπηρέτησης των µη-κρίσιµων εργασιών Χρησιµοποιείται η σταθερή κατανοµή στις αφίξεις των κρίσιµων εργασιών και εκθετικοί χρόνοι εξυπηρέτησης -) Απώλειες κρίσιµων εργασιών Number of preemptions (8, 4) (8, 6) (7, 7) (10, 4) number of critical losses 2,5 2 1,5 1 0, (8, 4) (8, 6) (7, 7) (10, 4) (non-critical arrival, critical arrival) Παρατηρήσεις : Βλέπουµε ότι έχουµε 2 απώλειες κρίσιµων εργασιών για αριθµό προεκχωρήσεων 1,2,3 όταν έχουµε 7 αφίξεις µη-κρίσιµων και 7 αφίξεις κρίσιµων εργασιών στη µονάδα του χρόνου Σε όλες τις υπόλοιπες περιπτώσεις δεν έχουµε απώλειες κρίσιµων εργασιών 51

52 -) Απώλειες µη-κρίσιµων εργασιών Number of preemptions (8, 4) 64,06 12,75 4,56 (8, 6) 357,93 277,75 396,81 (7, 7) 388,56 309,43 399,62 (10, 4) ,5 290, number of non-critical losses ,81 388,56 399,62 357,93 277,75 309, , ,5 64,06 12,754,56 (8, 4) (8, 6) (7, 7) (10, 4) (non-critical arrival, critical arrival) Παρατηρήσεις : Αν συγκρίνουµε το παραπάνω γράφηµα, µε το αντίστοιχο τις 1 ης σειράς πειραµάτων, όπου γινόταν τυχαία ανάθεση εργασιών στους επεξεργαστές, θα παρατηρήσουµε ότι οι απώλειες αυξάνονται κατά πολύ. Αυτό συµβαίνει διότι στην περίπτωση αυτή, γίνεται ανάθεση στους επεξεργαστές µε κριτήριο το µικρότερο µήκος ουράς. Έτσι, όλες οι εργασίες διανέµονται οµοιόµορφα σε όλους τους επεξεργαστές και σε σύντοµο χρονικό διάστηµα, όλοι είναι απασχοληµένοι. Με την άφιξη κρίσιµων εργασιών, έχουµε προεκχώρηση των µη-κρίσιµων και οδηγούµαστε σε πιο πολλές απώλειες. 52

53 -) Χρησιµοποίηση επεξεργαστή Number of preemptions (8, 4) 0,744 0,757 0,761 (8, 6) 0,838 0,893 0,953 (7, 7) 0,836 0,891 0,939 (10, 4) 0,844 0,904 0, server utilization 1,2 1 0,8 0,6 0,4 0,2 0,744 0,757 0,761 0,953 0,992 0,939 0,893 0,891 0,904 0,838 0,836 0,844 0 (8, 4) (8, 6) (7, 7) (10, 4) (non-critical arrival, critical arrival) Παρατηρήσεις : Βλέπουµε ότι η µέση χρησιµοποίηση των επεξεργαστών παραµένει περίπου στα ίδια επίπεδα µε πριν. 53

54 -) Μέσος αριθµός εργασιών στην ουρά Number of preemptions (8, 4) 0,325 0,353 0,368 (8, 6) 0,412 0,627 1,532 (7, 7) 0,372 0,553 1,02 (10, 4) 0,493 0,802 5, average number of jobs in queue ,33 1,532 1,02 0,627 0,802 0,3250,353 0,368 0,412 0,372 0,553 0,493 (8, 4) (8, 6) (7, 7) (10, 4) (non-critical arrival, critical arrival) Παρατηρήσεις : Σ αυτή τη σειρά πειραµάτων, γίνεται ανάθεση στους επεξεργαστές µε κριτήριο το µικρότερο µήκος ουράς. Έτσι έχουµε µια οµοιόµορφη ανάθεση εργασιών στους επεξεργαστές. Παρατηρούµε λοιπόν, ότι ο µέσος αριθµός προγραµµάτων στην ουρά είναι µικρός σε σχέση µε την 1 η σειρά πειραµάτων. Μια αύξηση παρατηρείται στην περίπτωση ( 10, 4 ) και όταν το Number of preemptions είναι ίσο µε 3, όπου έρχονται αρκετές µηκρίσιµες εργασίες στη µονάδα του χρόνου (10) και έχουν ευκαιρία να εκτελεστούν 3 φορές, εάν προεκχωρηθούν. Ως αποτέλεσµα, γεµίζουν οι ουρές των επεξεργαστών. 54

55 η Σειρά Πειραµάτων ιαµοίραση των εργασιών στους επεξεργαστές σύµφωνα µε το µικρότερο µήκος ουράς Χρησιµοποιείται η εκθετική κατανοµή στις αφίξεις και στους χρόνους εξυπηρέτησης των µη-κρίσιµων εργασιών Χρησιµοποιείται η σταθερή κατανοµή στις αφίξεις των κρίσιµων εργασιών και στους χρόνους εξυπηρέτησης (µ = 1) -) Απώλειες κρίσιµων εργασιών Number of preemptions (8, 4) (8, 6) (7, 7) (10, 4) number of critical losses 1,2 1 0,8 0,6 0,4 0, (8, 4) (8, 6) (7, 7) (10, 4) (non-critical arrival, critical arrival) 1 0 Παρατηρήσεις : Βλέπουµε ότι δεν υπάρχει σηµαντικός αριθµός απωλειών κρίσιµων εργασιών 55

Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση

Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση Κεφάλαιο 5: Εισαγωγή στην Προσομοίωση Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Αν. Καθηγητής Προσομοίωση Τεχνικές χρήσης υπολογιστών για τη «μίμηση» των λειτουργιών διαφόρων ειδών

Διαβάστε περισσότερα

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 5: Εισαγωγή στην Προσομοίωση

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 5: Εισαγωγή στην Προσομοίωση Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 5: Εισαγωγή στην Προσομοίωση Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Σκοποί ενότητας Κατά τη διάρκεια της ζωής ενός συστήματος,

Διαβάστε περισσότερα

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής

Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Κεφάλαιο 6: Προσομοίωση ενός συστήματος αναμονής Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Αν. Καθηγητής ιατύπωση του προβλήματος (1) Τα συστήματα αναμονής (queueing systems), βρίσκονται

Διαβάστε περισσότερα

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

Διαβάστε περισσότερα

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

ΤΕΙ Κρήτης, Παράρτηµα Χανίων ΠΣΕ, Τµήµα Τηλεπικοινωνιών & ικτύων Η/Υ Εργαστήριο ιαδίκτυα & Ενδοδίκτυα Η/Υ ( ηµιουργία συστήµατος µε ροint-tο-ροint σύνδεση) ρ Θεοδώρου Παύλος Χανιά 2003 Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ...2 2 ΤΟ ΚΑΝΑΛΙ PΟINT-TΟ-PΟINT...2

Διαβάστε περισσότερα

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Προσομοίωση ενός συστήματος αναμονής

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Προσομοίωση ενός συστήματος αναμονής Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Προσομοίωση ενός συστήματος αναμονής Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Περιεχόμενα ενότητας Διατύπωση του προβλήματος

Διαβάστε περισσότερα

ΠΡΟΣΟΜΟΙΩΣΗ. Προσομοίωση είναι η μίμηση της λειτουργίας ενός πραγματικού συστήματος και η παρακολούθηση της εξέλιξης του μέσα στο χρόνο.

ΠΡΟΣΟΜΟΙΩΣΗ. Προσομοίωση είναι η μίμηση της λειτουργίας ενός πραγματικού συστήματος και η παρακολούθηση της εξέλιξης του μέσα στο χρόνο. ΠΡΟΣΟΜΟΙΩΣΗ Προσομοίωση είναι η μίμηση της λειτουργίας ενός πραγματικού συστήματος και η παρακολούθηση της εξέλιξης του μέσα στο χρόνο. δημιουργία μοντέλου προσομοίωσης ( - χρήση μαθηματικών, λογικών και

Διαβάστε περισσότερα

ιπλωµατική Εργασία Επιµέλεια Συγγραφή: ΗΜΗΤΡΙΑ ΟΥ ΣΟΦΙΑ 891 Υπεύθυνη Καθηγήτρια Καρατζά Ελένη

ιπλωµατική Εργασία Επιµέλεια Συγγραφή: ΗΜΗΤΡΙΑ ΟΥ ΣΟΦΙΑ 891 Υπεύθυνη Καθηγήτρια Καρατζά Ελένη ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Χρονοδρομολόγηση Παράλληλων Εργασιών σε Κατανεμημένα Συστήματα Προσομοίωση και Εκτίμηση της Απόδοσης ιπλωµατική Εργασία

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ

ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ ΚΕΦΑΛΑΙΟ 2ο ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΑΚΡΙΤΩΝ ΓΕΓΟΝΟΤΩΝ 2.1 Εισαγωγή Η μέθοδος που θα χρησιμοποιηθεί για να προσομοιωθεί ένα σύστημα έχει άμεση σχέση με το μοντέλο που δημιουργήθηκε για το σύστημα. Αυτό ισχύει και

Διαβάστε περισσότερα

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Χρονοδροµολόγηση εργασιών σε κατανεµηµένα συστήµατα Μοντελοποίηση, Προσοµοίωση και Αποτίµηση της Απόδοσης Πτυχιακή Εργασία

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND. 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND. 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων ΙΣΤΟΤΟΠΟΣ ΕΡΓΑΣΤΗΡΙΟΥ http://www.mech.upatras.gr/~adamides/dpe ΠΡΟΣΟΜΟΙΩΣΗ Η τεχνική

Διαβάστε περισσότερα

Εργαστήριο Διοίκησης Παραγωγής & Έργων. Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend

Εργαστήριο Διοίκησης Παραγωγής & Έργων. Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend Εργαστήριο Διοίκησης Παραγωγής & Έργων Εισαγωγή στην προσομοίωση διεργασιών χρησιμοποιώντας το λογισμικό Extend ΕΠΙΣΚΟΠΗΣΗ ΤΟΥ EXTEND Το Extend είναι ένα λογισμικό εικονικής προσομοίωσης που μπορεί να

Διαβάστε περισσότερα

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι

Διαβάστε περισσότερα

Υπάρχουν τρεις εναλλακτικές τεχνικές για την ανάλυση της απόδοσης ενός συστήµατος:

Υπάρχουν τρεις εναλλακτικές τεχνικές για την ανάλυση της απόδοσης ενός συστήµατος: ΕΝΟΤΗΤΑ 4 η ΑΝΑΛΥΣΗ ΑΠΟ ΟΣΗΣ ΜΟΝΤΕΛΩΝ ΡΟΗΣ ΕΡΓΑΣΙΑΣ ΜΕ ΤΗ ΧΡΗΣΗ ΧΡΩΜΑΤΙΣΜΕΝΩΝ ΙΚΤΥΩΝ PETRI 4.1 Εισαγωγή Η απόδοση αποτελεί συνήθως σηµαντικό παράγοντα στο σχεδιασµό, την ανάπτυξη και την παραµετροποίηση

Διαβάστε περισσότερα

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 7: Η επιλογή των πιθανοτικών κατανομών εισόδου

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 7: Η επιλογή των πιθανοτικών κατανομών εισόδου Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 7: Η επιλογή των πιθανοτικών κατανομών εισόδου Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Περιεχόμενα ενότητας Εισαγωγή Συλλογή

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΑΡΑ ΕΙΓΜΑ ΠΡΟΣΟΜΕΙΩΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΑΡΑΓΩΓΗΣ. Καθηγητής Γ: Χρυσολούρης και ρ.. Μούρτζης ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ & ΑΕΡΟΝΑΥΠΗΓΩΝ ΜΗΧΑΝΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΑΡΑ ΕΙΓΜΑ ΠΡΟΣΟΜΕΙΩΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΑΡΑΓΩΓΗΣ. Καθηγητής Γ: Χρυσολούρης και ρ.. Μούρτζης ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ & ΑΕΡΟΝΑΥΠΗΓΩΝ ΜΗΧΑΝΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΑΡΑ ΕΙΓΜΑ ΠΡΟΣΟΜΕΙΩΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΑΡΑΓΩΓΗΣ Καθηγητής Γ: Χρυσολούρης και ρ.. Μούρτζης ΠΑΤΡΑ 2001 ΠΡΟΣΟΜΟΙΩΣΗ ΣΥΣΤΗΜΑΤΩΝ ΠΑΡΑΓΩΓΗΣ Η προσοµοίωση είναι µία πειραµατική µέθοδος µε τη

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων Ι Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

Διαβάστε περισσότερα

Ανάλυση Δεδοµένων µε χρήση του Στατιστικού Πακέτου R

Ανάλυση Δεδοµένων µε χρήση του Στατιστικού Πακέτου R Ανάλυση Δεδοµένων µε χρήση του Στατιστικού Πακέτου R, Επίκουρος Καθηγητής, Τοµέας Μαθηµατικών, Σχολή Εφαρµοσµένων Μαθηµατικών και Φυσικών Επιστηµών, Εθνικό Μετσόβιο Πολυτεχνείο. Περιεχόµενα Εισαγωγή στη

Διαβάστε περισσότερα

«ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ

«ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ Α ΡΙΣΤΟΤΕΛΕΙΟ Π ΑΝΕΠΙΣΤΗΜΙΟ Θ ΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΑΤΡΙΒΗ «ΧΡΟΝΟΔΡΟΜΟΛΟΓΗΣΗ ΕΡΓΑΣΙΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗ ΚΑΙ ΕΚΤΙΜΗΣΗ ΤΗΣ ΑΠΟΔΟΣΗΣ» Job

Διαβάστε περισσότερα

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

Διαβάστε περισσότερα

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Αριθμών Και Εφαρμογές Στην Κρυπτογραφία. Linux Random Number Generator

Στοιχεία Θεωρίας Αριθμών Και Εφαρμογές Στην Κρυπτογραφία. Linux Random Number Generator Στοιχεία Θεωρίας Αριθμών Και Εφαρμογές Στην Κρυπτογραφία Linux Random Number Generator Επιμέλεια Διαφανειών : Ι. Κατσάτος ΦΕΒΡΟΥΑΡΙΟΣ 2013 ΑΘΗΝΑ Ορισμός: Τυχαίοι Αριθμοί Συχνά στην καθομιλουμένη, ο κόσμος

Διαβάστε περισσότερα

2. Missing Data mechanisms

2. Missing Data mechanisms Κεφάλαιο 2 ο 2. Missing Data mechanisms 2.1 Εισαγωγή Στην προηγούµενη ενότητα περιγράψαµε κάποια από τα βασικά µοτίβα εµφάνισης των χαµένων τιµών σε σύνολα δεδοµένων. Ένα άλλο ζήτηµα που µας απασχολεί

Διαβάστε περισσότερα

ΜΟΝΤΕΛΑ ΙΑΚΡΙΤΩΝΣΥΣΤΗΜΑΤΩΝ

ΜΟΝΤΕΛΑ ΙΑΚΡΙΤΩΝΣΥΣΤΗΜΑΤΩΝ ΜΟΝΤΕΛΑ ΙΑΚΡΙΤΩΝΣΥΣΤΗΜΑΤΩΝ Στα διακριτά συστήµατα, οι αλλαγές της κατάστασής των συµβαίνουν µόνο σε συγκεκριµένες χρονικές στιγµές, δηλ όταν συµβαίνει κάποιο γεγονός! Τα διακριτά συστήµατα µπορούν να προσοµοιωθούν

Διαβάστε περισσότερα

Ελεγκτικής. ΤΕΙ Ηπείρου (Παράρτηµα Πρέβεζας)

Ελεγκτικής. ΤΕΙ Ηπείρου (Παράρτηµα Πρέβεζας) Πληροφοριακά Συστήµατα ιοίκησης Management Information Systems Εργαστήριο 2 Τµήµα Χρηµατοοικονοµικής και Ελεγκτικής ΤΕΙ Ηπείρου (Παράρτηµα Πρέβεζας) ΑΝΤΙΚΕΙΜΕΝΟ: Προσοµοίωση (Simulation) και τυχαίες µεταβλητές

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ ΠΙΘΑΝΟΤΗΤΩΝ

ΕΡΓΑΣΤΗΡΙΟ ΠΙΘΑΝΟΤΗΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΠΙΘΑΝΟΤΗΤΩΝ ΜΕΡΟΣ Ο ΙΩΝΥΜΙΚΗ ΚΑΤΑΝΟΜΗ Στο εργαστήριο αυτό θα ασχοληθούµε µε την προσοµοίωση της ρίψεως ενός δίκαιου νοµίσµατος. Το µοντέλο το οποίο θα πρέπει να πραγµατοποιήσουµε θα πρέπει να

Διαβάστε περισσότερα

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7 ο Αλγόριθμοι Χρονοδρομολόγησης Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και την αξιολόγηση των αλγορίθμων χρονοδρομολόγησης, και θα παρουσιάσουμε τους κυριότερους. Θα μάθουμε:

Διαβάστε περισσότερα

Τµήµα Πληροφορικής. Δοµές Δεδοµένων - Εργασία 2. Φθινοπωρινό Εξάµηνο Διδάσκων: E. Μαρκάκης

Τµήµα Πληροφορικής. Δοµές Δεδοµένων - Εργασία 2. Φθινοπωρινό Εξάµηνο Διδάσκων: E. Μαρκάκης Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Φθινοπωρινό Εξάµηνο 2016 Δοµές Δεδοµένων - Εργασία 2 Διδάσκων: E. Μαρκάκης Ουρές προτεραιότητας - Προσοµοίωση της λειτουργίας ενός print server Σκοπός

Διαβάστε περισσότερα

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

Διαβάστε περισσότερα

υναµικές οµές εδοµένων

υναµικές οµές εδοµένων υναµικές οµές εδοµένων Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: υναµικές οµές εδοµένων Γενικά υναµική έσµευση Μνήµης οµή τύπου structure αυτοαναφορικές δοµές Η δήλωση typedef στη C Αναπαράσταση

Διαβάστε περισσότερα

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

Διαβάστε περισσότερα

Η ΤΕΧΝΗ ΤΟΥ ΙΑΒΑΣΜΑΤΟΣ ΜΕΤΑΞΥ ΤΩΝ ΑΡΙΘΜΩΝ (ΠΑΡΕΜΒΟΛΗ ΚΑΙ ΠΡΟΣΕΓΓΙΣΗ)

Η ΤΕΧΝΗ ΤΟΥ ΙΑΒΑΣΜΑΤΟΣ ΜΕΤΑΞΥ ΤΩΝ ΑΡΙΘΜΩΝ (ΠΑΡΕΜΒΟΛΗ ΚΑΙ ΠΡΟΣΕΓΓΙΣΗ) Η ΤΕΧΝΗ ΤΟΥ ΙΑΒΑΣΜΑΤΟΣ ΜΕΤΑΞΥ ΤΩΝ ΑΡΙΘΜΩΝ (ΠΑΡΕΜΒΟΛΗ ΚΑΙ ΠΡΟΣΕΓΓΙΣΗ) ΜΙΧΑΛΗΣ ΤΖΟΥΜΑΣ ΕΣΠΟΤΑΤΟΥ 3 ΑΓΡΙΝΙΟ. ΠΕΡΙΛΗΨΗ Η έννοια της συνάρτησης είναι στενά συνυφασµένη µε τον πίνακα τιµών και τη γραφική παράσταση.

Διαβάστε περισσότερα

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Παρασκευή 25 Απριλίου 2014 ιάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Προσομοίωση Βιομηχανικής Παραγωγής & Επιχειρήσεων

Προσομοίωση Βιομηχανικής Παραγωγής & Επιχειρήσεων Προσομοίωση Βιομηχανικής Παραγωγής & Επιχειρήσεων Ζ Εξάμηνο 2Θ+2Ε jdim@staff.teicrete.gr ΠΡΟΣΟΜΟΙΩΣΗ 1 ΠΡΟΣΟΜΟΙΩΣΗ: ΟΡΙΣΜΟΣ Wikipedia: Simulation is the imitation of the operation of a real-world process

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής Ενότητα 8η: Συσκευές Ε/Ε - Αρτηρίες Άσκηση 1: Υπολογίστε το µέσο χρόνο ανάγνωσης ενός τµήµατος των 512 bytes σε µια µονάδα σκληρού δίσκου µε ταχύτητα περιστροφής

Διαβάστε περισσότερα

4.3. Γραµµικοί ταξινοµητές

4.3. Γραµµικοί ταξινοµητές Γραµµικοί ταξινοµητές Γραµµικός ταξινοµητής είναι ένα σύστηµα ταξινόµησης που χρησιµοποιεί γραµµικές διακριτικές συναρτήσεις Οι ταξινοµητές αυτοί αναπαρίστανται συχνά µε οµάδες κόµβων εντός των οποίων

Διαβάστε περισσότερα

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Παρασκευή 25 Απριλίου 2014 ιάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

Διαβάστε περισσότερα

Ορισµός. (neighboring) καταστάσεων. ηλαδή στην περίπτωση αλυσίδας Markov. 1.2 ιαµόρφωση µοντέλου

Ορισµός. (neighboring) καταστάσεων. ηλαδή στην περίπτωση αλυσίδας Markov. 1.2 ιαµόρφωση µοντέλου 200-04-25. ιαδικασίες γεννήσεων-θανάτων. Ορισµός Οι διαδικασίες γεννήσεων-θανάτων (birth-death rocesses) αποτελούν µια σπουδαία κλάση αλυσίδων Markov (διακριτού ή συνεχούς χρόνου). Η ιδιαίτερη συνθήκη

Διαβάστε περισσότερα

οµή δικτύου ΣΧΗΜΑ 8.1

οµή δικτύου ΣΧΗΜΑ 8.1 8. ίκτυα Kohonen Το µοντέλο αυτό των δικτύων προτάθηκε το 1984 από τον Kοhonen, και αφορά διαδικασία εκµάθησης χωρίς επίβλεψη, δηλαδή δεν δίδεται καµία εξωτερική επέµβαση σχετικά µε τους στόχους που πρέπει

Διαβάστε περισσότερα

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R, Επίκουρος Καθηγητής, Τομέας Μαθηματικών, Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών, Εθνικό Μετσόβιο Πολυτεχνείο. Περιεχόμενα Εισαγωγή στο

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ ΥΠΟΥΡΓΕΙΟ ΕΘΝΙΚΗΣ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ Κ Υ Κ Λ Ο Υ Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Κ Α Ι Υ Π Η Ρ Ε Σ Ι Ω Ν Τ Ε Χ Ν Ο Λ Ο Γ Ι Κ Η

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΜΣΕ ΣΤΗΝ ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΚΑΙ ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΜΣΕ ΣΤΗΝ ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΚΑΙ ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΜΣΕ ΣΤΗΝ ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΚΑΙ ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΟΜΑ Α ΑΣΚΗΣΕΩΝ ΑΣΚΗΣΗ Στην εικόνα παρακάτω φαίνεται ένα νευρωνικό

Διαβάστε περισσότερα

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Φτάσαμε σιγά σιγά στο τέλος του βιβλίου. Αντί για κάποιον επίλογο σκέφτηκα να συλλέξω κάποια πράγματα που θα ήθελα να πω σε κάποιον ο οποίος αρχίζει

Διαβάστε περισσότερα

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι Εισαγωγή Στον Προγραµµατισµό «C» Πίνακες Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Πίνακες στη C Ένας πίνακας στη C είναι

Διαβάστε περισσότερα

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 9 Συναρτήσεις Μέρος II Θέματα ιάλεξης Μη- ομημένος

Διαβάστε περισσότερα

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ 3.1 Τυχαίοι αριθμοί Στην προσομοίωση διακριτών γεγονότων γίνεται χρήση ακολουθίας τυχαίων αριθμών στις περιπτώσεις που απαιτείται η δημιουργία στοχαστικών

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο Εισαγωγικές Έννοιες ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΘΕΜΑ ο 2.5 µονάδες ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάσεις 2 Σεπτεµβρίου 2005 5:00-8:00 Σχεδιάστε έναν αισθητήρα ercetro

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Πληροφοριακά Συστήματα Διοίκησης Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού Σημασία μοντέλου Το μοντέλο δημιουργεί μια λογική δομή μέσω της οποίας αποκτούμε μια χρήσιμη άποψη

Διαβάστε περισσότερα

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

Διαβάστε περισσότερα

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

Διαβάστε περισσότερα

Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Μεταπτυχιακό Πληροφορικής Προσοµοίωση ηµοσθένης Αναγνωστόπουλος Επ. Καθηγητής Χαροκόπειο Πανεπιστήµιο

Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Μεταπτυχιακό Πληροφορικής Προσοµοίωση ηµοσθένης Αναγνωστόπουλος Επ. Καθηγητής Χαροκόπειο Πανεπιστήµιο Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Μεταπτυχιακό Πληροφορικής Προσοµοίωση ηµοσθένης Αναγνωστόπουλος Επ. Καθηγητής Χαροκόπειο Πανεπιστήµιο Αντικείµενο Πως πλάθουµε το υπολογιστικό µοντέλο ενός (µη) υπαρκτού

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ (ΝΕΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ (ΝΕΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ (ΝΕΟ ΣΥΣΤΗΜΑ) 27 ΜΑΪΟΥ 2016 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-5 και, δίπλα,

Διαβάστε περισσότερα

Υπολογιστικό Πρόβληµα

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

Διαβάστε περισσότερα

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 6 εκεµβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 3 ο Μέρος Ηµεροµηνία Παράδοσης:

Διαβάστε περισσότερα

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

Διαβάστε περισσότερα

Αδιέξοδα (Deadlocks)

Αδιέξοδα (Deadlocks) Αδιέξοδα (Deadlocks) Περίληψη Αδιέξοδα (deadlocks) Τύποι πόρων (preemptable non preemptable) Μοντελοποίηση αδιεξόδων Στρατηγικές Στρουθοκαµηλισµός (ostrich algorithm) Ανίχνευση και αποκατάσταση (detection

Διαβάστε περισσότερα

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Φθινοπωρινό Εξάµηνο 2015 Δοµές Δεδοµένων - Εργασία 2 Διδάσκων: E. Μαρκάκης Ταξινόµηση και Ουρές Προτεραιότητας Σκοπός της 2 ης εργασίας είναι η εξοικείωση

Διαβάστε περισσότερα

ΠΡΟΣΟΜΟΙΩΣΗ & ΣΥΣΤΗΜΑΤΑ ΣΤΗΡΙΞΗΣ ΑΠΟΦΑΣΕΩΝ. Διδάσκων: Γεώργιος Γιαγλής. Παράδειγμα Μπαρ

ΠΡΟΣΟΜΟΙΩΣΗ & ΣΥΣΤΗΜΑΤΑ ΣΤΗΡΙΞΗΣ ΑΠΟΦΑΣΕΩΝ. Διδάσκων: Γεώργιος Γιαγλής. Παράδειγμα Μπαρ ΠΡΟΣΟΜΟΙΩΣΗ & ΣΥΣΤΗΜΑΤΑ ΣΤΗΡΙΞΗΣ ΑΠΟΦΑΣΕΩΝ Διδάσκων: Γεώργιος Γιαγλής Παράδειγμα Μπαρ Σκοπός της παρούσας άσκησης είναι να προσομοιωθεί η λειτουργία ενός υποθετικού μπαρ ώστε να υπολογίσουμε το μέσο χρόνο

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ 29 ΜΑΪΟΥ 2013 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1-6 και

Διαβάστε περισσότερα

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Συστήματα Αναμονής Ενότητα 1: Εισαγωγή Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

Μηχανική ΙI Ταλαντωτής µε µεταβλητή συχνότητα

Μηχανική ΙI Ταλαντωτής µε µεταβλητή συχνότητα Τµήµα Π Ιωάννου & Θ Αποστολάτου 22/5/2000 Μηχανική ΙI Ταλαντωτής µε µεταβλητή συχνότητα Τι θα συµβεί στην περίοδο ενός εκκρεµούς εάν το µήκος του νήµατος µεταβάλλεται µε αργό ρυθµό; Το πρόβληµα προτάθηκε

Διαβάστε περισσότερα

Μεθοδολογίες παρεµβολής σε DTM.

Μεθοδολογίες παρεµβολής σε DTM. Μάθηµα : Αλγοριθµικές Βάσεις στη Γεωπληροφορική ιδάσκων : Συµεών Κατσουγιαννόπουλος Μεθοδολογίες παρεµβολής σε DTM.. Μέθοδοι παρεµβολής. Η παρεµβολή σε ψηφιακό µοντέλο εδάφους (DTM) είναι η διαδικασία

Διαβάστε περισσότερα

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12) Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II (Διάλεξη 12) 12-1 Ανασκόπηση Δομής Προγράμματος με Συναρτήσεις 1 void PrintMessage (); Πρότυπο (Δήλωση) Συνάρτησης (Δηλώνουν τι επιπλέον συναρτήσεις θα χρησιμοποιήσουμε

Διαβάστε περισσότερα

Κεφάλαιο 1 : Εισαγωγή

Κεφάλαιο 1 : Εισαγωγή Κεφάλαιο 1 : Εισαγωγή Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Γιάννης Γαροφαλάκης Καθηγητής Ορισμός πληροφοριακού συστήματος Ένα πληροφοριακό σύστημα είναι «οποιαδήποτε συλλογή τμημάτων υλικού ή λογισμικού»

Διαβάστε περισσότερα

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή. Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής

Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή. Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Τεχνικές Εκτίμησης Υπολογιστικών Συστημάτων Ενότητα 1: Εισαγωγή Γαροφαλάκης Ιωάννης Πολυτεχνική Σχολή Τμήμα Μηχ/κών Η/Υ & Πληροφορικής Περιεχόμενα ενότητας Ορισμός πληροφοριακού συστήματος Κύρια κριτήρια

Διαβάστε περισσότερα

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή 6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή Εισαγωγή Η σχεδίαση ενός ψηφιακού συστήµατος ως ακολουθιακή µηχανή είναι εξαιρετικά δύσκολη Τµηµατοποίηση σε υποσυστήµατα µε δοµικές µονάδες:

Διαβάστε περισσότερα

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης K.5.1 Γραμμή Παραγωγής Μια γραμμή παραγωγής θεωρείται μια διάταξη με επίκεντρο το προϊόν, όπου μια σειρά από σταθμούς εργασίας μπαίνουν σε σειρά με στόχο ο κάθε ένας από αυτούς να κάνει μια ή περισσότερες

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Συναίνεση χωρίς την παρουσία σφαλμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Προηγούμενη

Διαβάστε περισσότερα

Μοντελοποίηση, Ανάλυση και Σχεδιασμός Στοχαστικών Συστημάτων

Μοντελοποίηση, Ανάλυση και Σχεδιασμός Στοχαστικών Συστημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ Μοντελοποίηση, Ανάλυση και Σχεδιασμός Στοχαστικών Συστημάτων Ακαδ. Έτος 2017-2018 Διδάσκων: Βασίλης ΚΟΥΤΡΑΣ Επικ. Καθηγητής

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

Διαβάστε περισσότερα

Επώνυµη ονοµασία. Ενότητα 13 η Σχεδίαση,Επιλογή, ιανοµή Προϊόντων 1

Επώνυµη ονοµασία. Ενότητα 13 η Σχεδίαση,Επιλογή, ιανοµή Προϊόντων 1 Επώνυµη ονοµασία Η επώνυµη ονοµασία είναι αυτή η ονοµασία που ξεχωρίζει τα προϊόντα και τις υπηρεσίες µας από αυτές των ανταγωνιστών. Οι σχετικές αποφάσεις θα επηρεαστούν από τις εξής ερωτήσεις: 1. Χρειάζεται

Διαβάστε περισσότερα

Στατιστική για Πολιτικούς Μηχανικούς Λυμένες ασκήσεις μέρους Β

Στατιστική για Πολιτικούς Μηχανικούς Λυμένες ασκήσεις μέρους Β Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Στατιστική για Πολιτικούς Μηχανικούς Λυμένες ασκήσεις μέρους Β Κουγιουμτζής Δημήτρης Τμήμα Πολιτικών Μηχανικών Α.Π.Θ. Θεσσαλονίκη, Μάρτιος 4 Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2 Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση συναρτήσεων Συµβολισµός µεγάλου όµικρον Παραδείγµατα

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 435: ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΥΠΟΛΟΓΙΣΤΗ Ακαδηµαϊκό Έτος 2004 2005, Χειµερινό Εξάµηνο 2 Η ΟΜΑ ΙΚΗ ΕΡΓΑΣΙΑ: ΑΝΑΠΤΥΞΗ ΑΡΧΙΚΗΣ Ι ΕΑΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΝΑΓΚΩΝ

Διαβάστε περισσότερα

Search and Replication in Unstructured Peer-to-Peer Networks

Search and Replication in Unstructured Peer-to-Peer Networks Search and Replication in Unstructured Peer-to-Peer Networks Presented in P2P Reading Group in 11/10/2004 Abstract: Τα µη-κεντρικοποιηµένα και µη-δοµηµένα Peer-to-Peer δίκτυα όπως το Gnutella είναι ελκυστικά

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ

ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ ΕΝΟΤΗΤΑ III ΒΑΣΙΚΕΣ ΜΕΘΟ ΟΙ ΑΝΑΛΥΣΗΣ Βασικός τελικός στόχος κάθε επιστηµονικής τεχνολογικής εφαρµογής είναι: H γενική βελτίωση της ποιότητας του περιβάλλοντος Η βελτίωση της ποιότητας ζωής Τα µέσα µε τα

Διαβάστε περισσότερα

Ανάλυση Αλγορίθµων 4. Πειραµατικές Μελέτες. Χρόνος Εκτέλεσης. Περιγραφή και Υλικό Ανάγνωσης

Ανάλυση Αλγορίθµων 4. Πειραµατικές Μελέτες. Χρόνος Εκτέλεσης. Περιγραφή και Υλικό Ανάγνωσης Ανάλυση Αλγορίθµων Είσοδος Αλγόριθµος Έξοδος Περιγραφή και Υλικό Ανάγνωσης Χρόνος εκτέλεσης (.) Ψευδοκώδικας (.) Μέτρηση των στοιχειωδών πράξεων (.) Ασυµπτωτική σηµειογραφία (.2) Ασυµπτωτική ανάλυση (.2)

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης. Προσομοίωση Simulation

Πληροφοριακά Συστήματα Διοίκησης. Προσομοίωση Simulation Πληροφοριακά Συστήματα Διοίκησης Προσομοίωση Simulation Προσομοίωση Έστω ότι το σύστημα βρίσκεται σε κάποια αρχική κατάσταση Αν γνωρίζουμε τους κανόνες σύμφωνα με τους οποίους το σύστημα αλλάζει καταστάσεις

Διαβάστε περισσότερα

που αντιστοιχεί στον τυχαίο αριθμό 0.6 δίνει ισχύ P Y Να βρεθεί η μεταβλητή k 2.

που αντιστοιχεί στον τυχαίο αριθμό 0.6 δίνει ισχύ P Y Να βρεθεί η μεταβλητή k 2. (μονάδα παραγωγής ενέργειας) Έχουμε μια απομακρυσμένη μονάδα παραγωγής ενέργειας. Η ζήτηση σε ενέργεια καλύπτεται από διάφορες πηγές. Η ισχύς εξόδου της ανεμογεννήτριας εξαρτάται από την ταχύτητα ανέμου

Διαβάστε περισσότερα

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

Διαβάστε περισσότερα

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015 Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015 Βάλβης Δημήτριος Μηχανικός Πληροφορικής ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα

Διαβάστε περισσότερα

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Η έννοια πρόβληµα Ανάλυση προβλήµατος Με τον όρο πρόβληµα εννοούµε µια κατάσταση η οποία χρήζει αντιµετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή ούτε προφανής. Μερικά προβλήµατα είναι τα εξής:

Διαβάστε περισσότερα

Κασταλία Σύστηµα στοχαστικής προσοµοίωσης υδρολογικών µεταβλητών

Κασταλία Σύστηµα στοχαστικής προσοµοίωσης υδρολογικών µεταβλητών Εθνικό Μετσόβιο Πολυτεχνείο Τοµέας Υδατικών Πόρων, Υδραυλικών και Θαλάσσιων Έργων Κασταλία Σύστηµα στοχαστικής προσοµοίωσης υδρολογικών µεταβλητών. Κουτσογιάννης Α. Ευστρατιάδης Φεβρουάριος 2002 Εισαγωγή

Διαβάστε περισσότερα

Χρησιμοποιούμε από το Λογισμικό Προσομοίωσης AnyLogic το αρχείο-μοντέλο Call Center.alp που υπάρχει στο φάκελο \models\call Center\

Χρησιμοποιούμε από το Λογισμικό Προσομοίωσης AnyLogic το αρχείο-μοντέλο Call Center.alp που υπάρχει στο φάκελο \models\call Center\ ΤΕΙ ΚΡΗΤΗΣ-ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ Προσομοίωση Βιομηχανικής Παραγωγής & Επιχειρήσεων-ΕΡΓΑΣΤΗΡΙΟ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018-19 6 η ΑΣΚΗΣΗ: ΠΡΟΣΟΜΟΙΩΣΗ AnyLogic-CALL CENTER Χρησιμοποιούμε από το Λογισμικό

Διαβάστε περισσότερα

Πανεπιστήµιο Κρήτης - Τµήµα Επιστήµης Υπολογιστών. ΗΥ-217: Πιθανότητες-Χειµερινό Εξάµηνο ιδάσκων : Π. Τσακαλίδης

Πανεπιστήµιο Κρήτης - Τµήµα Επιστήµης Υπολογιστών. ΗΥ-217: Πιθανότητες-Χειµερινό Εξάµηνο ιδάσκων : Π. Τσακαλίδης Πανεπιστήµιο Κρήτης - Τµήµα Επιστήµης Υπολογιστών ΗΥ-27: Πιθανότητες-Χειµερινό Εξάµηνο 205- ιδάσκων : Π. Τσακαλίδης Λύσεις Τέταρτης Σειράς Ασκήσεων Ασκηση. (αʹ) Σύµφωνα µε το αξίωµα της κανονικοποίησης,

Διαβάστε περισσότερα

o AND o IF o SUMPRODUCT

o AND o IF o SUMPRODUCT Πληροφοριακά Εργαστήριο Management 1 Information Συστήματα Systems Διοίκησης ΤΕΙ Τμήμα Ελεγκτικής Ηπείρου Χρηματοοικονομικής (Παράρτημα Πρέβεζας) και Αντικείµενο: Μοντελοποίηση προβλήµατος Θέµατα που καλύπτονται:

Διαβάστε περισσότερα

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού Μάρα Νικολαϊδου Δραστηριότητες Διαδικασιών Παραγωγής Λογισµικού Καθορισµός απαιτήσεων και εξαγωγή προδιαγραφών

Διαβάστε περισσότερα

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Κυριακή 22 Απριλίου 2012 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Θέµα 1 ο Α. Να απαντήσετε τις παρακάτω ερωτήσεις τύπου Σωστό Λάθος (Σ Λ) 1. Σκοπός της συγχώνευσης 2 ή περισσοτέρων ταξινοµηµένων πινάκων είναι η δηµιουργία

Διαβάστε περισσότερα

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ 2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,

Διαβάστε περισσότερα

Επιστηµονικός Υπολογισµός Ι Ενότητα 1 - Εισαγωγή. Ευστράτιος Γαλλόπουλος

Επιστηµονικός Υπολογισµός Ι Ενότητα 1 - Εισαγωγή. Ευστράτιος Γαλλόπουλος Ενότητα 1 - Εισαγωγή Ευστράτιος Γαλλόπουλος c Ε. Γαλλόπουλος 201-2015 Ασκηση 1 Τι ονοµάζουµε υπολογιστικούς πυρήνες ; πυρήνων. Να δώσετε 3 παραδείγµατα τέτοιων Απάντηση ιαδικασίες (που µπορεί να είναι

Διαβάστε περισσότερα

ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΙΑΤΑΞΗΣ ΤΩΝ ΑΡΙΘΜΩΝ ΚΑΙ ΧΡΗΣΗ ΤΗΣ ΑΠΟΛΥΤΗΣ ΤΙΜΗΣ ΣΤΟΝ ΑΞΟΝΑ ΤΩΝ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ ΠΕΡΙΛΗΨΗ. Εισαγωγή

ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΙΑΤΑΞΗΣ ΤΩΝ ΑΡΙΘΜΩΝ ΚΑΙ ΧΡΗΣΗ ΤΗΣ ΑΠΟΛΥΤΗΣ ΤΙΜΗΣ ΣΤΟΝ ΑΞΟΝΑ ΤΩΝ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ ΠΕΡΙΛΗΨΗ. Εισαγωγή ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΙΑΤΑΞΗΣ ΤΩΝ ΑΡΙΘΜΩΝ ΚΑΙ ΧΡΗΣΗ ΤΗΣ ΑΠΟΛΥΤΗΣ ΤΙΜΗΣ ΣΤΟΝ ΑΞΟΝΑ ΤΩΝ ΠΡΑΓΜΑΤΙΚΩΝ ΑΡΙΘΜΩΝ Αθανάσιος Γαγάτσης Τµήµα Επιστηµών της Αγωγής Πανεπιστήµιο Κύπρου Χρήστος Παντσίδης Παναγιώτης Σπύρου Πανεπιστήµιο

Διαβάστε περισσότερα

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 3 ο. Συνδεδεµένες Λίστες. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 3 ο. Συνδεδεµένες Λίστες. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 3 ο Συνδεδεµένες Λίστες Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Ανασκόπηση ΟΑΤ λίστα Ακολουθιακή λίστα Συνδεδεµένη λίστα

Διαβάστε περισσότερα

Σύγχρονα συστήµατα προβλέψεων και µοντελοποίησης. Τµήµα Στατιστικής και Αναλογιστικών Χρηµατοοικονοµικών Μαθηµατικών

Σύγχρονα συστήµατα προβλέψεων και µοντελοποίησης. Τµήµα Στατιστικής και Αναλογιστικών Χρηµατοοικονοµικών Μαθηµατικών Σύγχρονα συστήµατα προβλέψεων και µοντελοποίησης Τµήµα Στατιστικής και Αναλογιστικών Χρηµατοοικονοµικών Μαθηµατικών 2 Εργαλεία διαχείρισης Για κάθε µελλοντική εξέλιξη και απόφαση, η πρόβλεψη αποτελεί το

Διαβάστε περισσότερα