Βασικά Μοντέλα και Έννοιες Διεργασιών

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Γραφήματα & Επίπεδα Γραφήματα
Advertisements

Λειτουργικό Σύστημα (Operating System) 1o μέρος
ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΕΡΓΑΣΙΩΝ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Επιμορφωτής: Ονομ/νυμο Επιμορφωτή
27 Ιουνίου 2014 ΔΙΑΦΑΝΕΙΑ 1 ΤΥΠΙΚΕΣ ΜΕΘΟΔΟΙ ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΤΜ. ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. – ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ ΑΥΤΟΜΑΤΑ Ι Αυτόματο ελέγχου πρόσβασης με.
A Peer-to-peer Framework for Caching Range Queries O. D. Sahin A. Gupta D. Agrawal A. El Abbadi Παρουσίαση: Καραγιάννης Τάσος, Κρεμμυδάς Νίκος, Μαργαρίτη.
ΛΟΓΙΣΜΙΚΟ ΣΥΣΤΗΜΑΤΟΣ Κεφάλαιο 4 ο Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Λογισμικο συστηματοσ Κεφάλαιο 4ο
Κεφάλαιο 6 Threads. 2 Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά.
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Νήματα Οι διεργασίες έχουν τα παρακάτω συστατικά:
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Λειτουργικά Συστήματα ΑΔΙΕΞΟΔΑ. 3.1 Εισαγωγή  Αδιέξοδο = ένα σύνολο από διεργασίες που δημιουργούν μια κυκλική αλυσίδα όπου κάθε process στην αλυσίδα.
Αναγνώριση Προτύπων.
William Stallings Computer Organization and Architecture 7 th Edition Κεφάλαιο 16 Λειτουργία Μονάδας Ελέγχου.
Γραφήματα & Επίπεδα Γραφήματα
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Σχεδίαση αλγορίθμων (2ο μέρος)
ΕΡΓΑΣΙΑ ΣΤΗ ΘΕΩΡΙΑ ΓΡΑΦΩΝ Διδάσκων : Π. Κατσαρός Διδάσκων : Π. Κατσαρός Παπαδημητρίου Παπαδημητρίου Δήμητρα Δήμητρα.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΝΝΟΙΑ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
ΔΙΑΓΡΑΜΜΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ
Επικοινωνία μεταξύ Διεργασιών και Σύνδρομες Διεργασίες Interprocess Communication and Concurrent Processes.
Πρωτόκολλο αμοιβαίου αποκλεισμού (mutual exclusion) για δύο διεργασίες-CPN Tools Νάνος Λέανδρος 156 Τζιαλαμάνη Βιργινία 166.
Θεωρία Υπολογισμού Πεπερασμένα Αυτόματα. Υπολογισμοί Γλώσσα που αποδέχεται ένας υπολογιστής: Το σύνολο των λέξεων τα οποία οδηγούν σε κατάσταση αποδοχής.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Χρονική Πολυπλοκότητα και Μοντέλα
ΟΡΙΣΜΟΣ ΣΥΜΠΕΡΙΦΟΡΑΣ ΔΙΑΓΡΑΜΜΑTA ΑΛΛΗΛΕΠΙΔΡΑΣΗΣ
ΟΤΑ Επιχειρησιακη νοημοσυνη: ΕΝΟΤΗΤΑ Ad1.2.1: ΑΝΑΠΤΥΞΗ
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Διεργασίες.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Ροές Δεδομένων (3 ο Μέρος)
1 Αδιέξοδα Μοντέλο συστήματος Χαρακτηρισμός αδιεξόδου Μέθοδοι διαχείρισης αδιεξόδων Πρόληψη Αποφυγή Ανίχνευση.
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Παραδείγματα BP.
Διοίκηση Επιχειρήσεων Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας.
Εκλογή Αρχηγού Ειδικά Θέματα Κατανεμημένων Συστημάτων.
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ Άπληστη Αναζήτηση και Αναζήτηση Α* ΣΠΥΡΟΣ ΛΥΚΟΘΑΝΑΣΗΣ, ΚΑΘΗΓΗΤΗΣ.
1 Εισαγωγή στα Συστήματα Διεπιχειρησιακών Διεργασιών /Ροών Εργασίας (Cross-Organizational Process/Workflow Systems) Dan C. Marinescu (2002). Internet-Based.
1 State Diagrams. 2 Τα διαγράμματα καταστάσεων (State diagrams) χρησιμοποιούνται: Για να βοηθήσουν στην ανάπτυξη ενός συστήματος Για να βοηθήσουν στην.
Συμπληρωματική Πυκνότητα Ελαστικής Ενέργειας Συμπληρωματικό Εξωτερικό Έργο W: Κανονικό έργο Τελικές δυνάμεις Ρ, τελικές ροπές Μ, ολικές μετατοπίσεις δ.
Διαχείριση Πόρων (1/10) Εισαγωγή στην Πληροφορκή 1 Στα πρώτα χρόνια των υπολογιστών, όπου μόνο ένα πρόγραμμα είχε τη δυνατότητα να βρίσκεται στην κύρια.
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Προγραμματισμός έργων
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ
Χειρισμός Χρόνου και Μεθοδολογίες Προσομοίωσης
Επίλυση Προβλημάτων με Αναζήτηση
Προβλήματα Ικανοποίησης Περιορισμών
Κατανεμημένα Συστήματα
Κατηγορίες και Προδιαγραφές Λογισμικού Η/Υ (Software)
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Δικτυωτή ανάλυση.
Τεχνολογία λογισμικού
Ανάπτυξη Μοντέλων Διακριτών Συστημάτων Μέρος Β
Λειτουργικά Συστήματα και Ασφάλεια Πληροφοριακών Συστημάτων ΔΙΕΡΓΑΣΙΕΣ
Διάλεξη 2: Περιγραφή αριθμητικών μεθόδων
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Ισοδυναμία ΜΠΑ με ΠΑ Για κάθε ΜΠΑ Μ υπάρχει αλγόριθμος ο οποίος κατασκευάζει ΠΑ Μ’ αιτιοκρατικό ώστε να αναγνωρίζουν την ίδια ακριβώς γλώσσα. Καθώς το.
ΧΡΩΜΑΤΟΓΡΑΦΙΑ ΑΠΟΚΛΕΙΣΜΟΥ ΜΕΓΕΘΩΝ
Activity Diagrams.
ΜΗΧΑΝΙΚΗ ΣΤΕΡΕΟΥ ΣΩΜΑΤΟΣ
ΑΛΓΟΡΙΘΜΟΣ.
Ο ορισμός του επιχειρηματικού μοντέλου
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
ΙΣΧΥΣ ΚΑΙ ΕΝΕΡΓΕΙΑ ΣΤΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟ ΡΕΥΜΑ
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Μεταγράφημα παρουσίασης:

Βασικά Μοντέλα και Έννοιες Διεργασιών

Συστήματα Μετάβασης (Transition Systems) Χρησιμοποιούνται ευρέως για να περιγράψουν την πρόοδο μιας διεργασίας κατά τη διάρκεια της εκτέλεσής της. Για κάθε διεργασία υπάρχει μοναδικό σύστημα μετάβασης. Τα συστήματα μετάβασης είναι κατευθυνόμενοι γράφοι. Οι κόμβοι του γράφου αναπαριστούν καταστάσεις (states) της διεργασίας και οι ακμές γεγονότα (events) που λαμβάνουν χώρα κατά τη διάρκεια της εκτέλεσης. Υπάρχουν δύο ειδικές καταστάσεις: Η αρχική, από την οποία υπάρχουν μόνο εξερχόμενες ακμές. Η τελική, στην οποία υπάρχουν μόνο εισερχόμενες ακμές. Όλες οι υπόλοιπες καταστάσεις λέγονται εσωτερικές. Η κατάσταση μιας διεργασίας τη χρονική στιγμή t αναπαρίσταται ως το σύνολο των εργασιών που έχουν ολοκληρωθεί μέχρι εκείνη τη χρονική στιγμή.

Παράδειγμα 1 : Συναρμολόγηση S1 S2 S3 S4 S5 S6 S7 S8 S9 Start Assembly of Box and Motherboard End Assembly of Box Prepare Box Prepare Motherboard Install Power Supply Install Screen Install CPU Install Memory Install Disk Controller

Σύστημα Μετάβασης Συναρμολόγησης Install screen Prepare motherboard S1 Prepare case S2 S3 Install power supply S4 S5 S6 Install CPU Install memory S7 S8 Install disk controller S9 Initial State of the process “prepare box and motherboard” Case done Power supply done Αυτή δεν είναι ακριβής αναπαράσταση γιατί διάφορα γεγονότα θα μπορούσαν να συμβούν παράλληλα Final State of the process “prepare box and motherboard”

Ακριβέστερη αναπαράσταση συναρμολόγησης 2=prepare case 5= prepare motherboard 3=install power supply 6=install CPU S1 S2 S3 S4 S5 S6 S7 S8 [2] [5] [2,5] [3] [3,5] [6] [2,6]

Εξαγωγή συστήματος μετάβασης από την περιγραφή διεργασίας Προσδιορίζουμε το σύνολο Ε, που περιέχει όλα τα ατομικά γεγονότα (ενέργειες). Χωρίζουμε το Ε σε κλάσεις ισοδυναμίας με βάση τη σχέση αιτιότητας μεταξύ γεγονότων, Ε1, Ε2, ... Προσθέτουμε στο Ε όλους τους δυνατούς συνδυασμούς γεγονότων: ένας δυνατός συνδυασμός γεγονότων περιέχει το πολύ ένα γεγονός από κάθε κλάση ισοδυναμίας. Κατασκευάζουμε το σύνολο καταστάσεων S. Αρχικά S={S_initial}. Βρίσκουμε όλα τα Ε_initial  E που μπορούν να συμβούν στη δεδομένη κατάσταση. Για κάθε ένα, κατασκευάζουμε την επόμενη κατάσταση και την προσθέτουμε στο S. Η διαδικασία επαναλαμβάνεται μέχρι το S_goal να περιληφθεί στο S.

Ιδιότητες Συστημάτων Μετάβασης Θέλουμε να εξασφαλίσουμε για κάθε σύστημα μετάβασης διάφορες ιδιότητες Οτι η τελική κατάσταση είναι προσβάσιμη από κάθε κατάσταση (άρα η διεργασία μας μπορεί να τερματίσει από οποιαδήποτε κατάσταση κι αν βρεθεί). Οτι δεν υπάρχουν κύκλοι σε κάποιο υπο-γράφο (loops) (άρα η διεργασία μας θα προοδεύει προς την ολοκλήρωσή της). Δύο ιδιότητες ιδιαίτερης σημασίας: Ασφάλεια (safety): τίποτα “κακό” δεν θα συμβεί ποτέ κατά την εκτέλεση της διεργασίας. Ζωτικότητα (liveness): κάτι “καλό” θα συμβεί κάποτε στη διάρκεια εκτέλεσης της διεργασίας.

Παράδειγμα 2: Υπολογισμός Α Β C F D G Ε Κάθε κόμβος αντιστοιχεί στην εκτέλεση ενός προγράμματος. Τα βέλη απεικονίζουν σχέσεις παραγωγού-καταναλωτή μεταξύ των προγραμμάτων. Οι διεκεκομμένες γραμμές απεικονίζουν XOR σχέσεις (αμοιβαία αποκλειόμενες επιλογές). Παραβίαση Ζωτικότητας: Αν μετά το Β επιλεγεί το D, η διεργασία δεν τερματίζει. Γιατί?

Προσοχή όμως... t1 t2 t3 t4 A B p q Deadlock Μπορεί η αρχική περιγραφή της διεργασίας να ικανοποιεί την ιδιότητα ζωτικότητας, αλλά κάποιο σενάριο εκτέλεσης να την παραβιάζει λόγω της κατανομής πόρων. t1 t2 t3 t4 A B p q Deadlock

Μοτίβα ροών εργασίας (workflow patterns) Οι υπο-διεργασίες και οι ατομικές εργασίες σε μια ροή μπορούν να σχετίζονται χρονικά με διάφορους τρόπους. Οι γλώσσες περιγραφής ροών και οι μηχανισμοί ενεργοποίησής τους πρέπει να υποστηρίζουν όλες αυτές τις δυνατές χρονικές σχέσεις. Μια βασική κατηγοριοποίηση αυτών των δυνατών χρονικών σχέσεων μεταξύ διεργασιών παρουσιάζεται στο http://tmitwww.tm.tue.nl/research/patterns

Sequence Pattern Οι εργασίες εκτελούνται αυστηρά σειριακά, η μια μετά την άλλη. Κάθε διεργασία στην αλυσσίδα (εκτός από την πρώτη) μπορεί να ξεκινήσει μόνο εφόσον έχει ολοκληρωθεί η προηγούμενή της. Α Β C

Ουσιαστικά είναι fork routing task AND split Pattern Πολλαπλές εργασίες εκτελούνται ταυτόχρονα. Μόλις ολοκληρωθεί η προηγούμενή τους ενεργοποιούνται όλες. Α Β C AND Αν η σύζευξη είναι έμμεση, δεν υπάρχει fork routing task, και πρόσθετες συνθήκες ισχύουν για την ενεργοποίηση κάθε μιας από τις επόμενες. Ουσιαστικά είναι fork routing task

Synchronization Pattern Πολλαπλές εργασίες εκτελούνται ταυτόχρονα. Μόλις ολοκληρωθούν όλες ενεργοποιείται η επόμενη. Α Β C AND Ουσιαστικά είναι join routing task

XOR split Pattern Β XOR Α C Μετά την ολοκλήρωση μιας διεργασίας απαιτείται απόφαση για την επόμενη μεταξύ αμοιβαία αποκλειόμενων διεργασιών: μόνο μια από τις επόμενες εκτελείται. Α Β C XOR

XOR join Pattern Β XOR Α C Μια διεργασία ενεργοποιείται μετά την ολοκλήρωση μιας από πολλές πιθανές προηγούμενες. Α Β C XOR

OR split Pattern Μετά την ολοκλήρωση μιας διεργασίας υπάρχουν πολλές πιθανές επόμενες. Εκτελείται τουλάχιστον μια (αλλά μπορεί και όλες) από αυτές. Α Β C OR

Multiple Merge Pattern Πολλαπλή ενεργοποίηση διεργασίας χωρίς συγχρονισμό των διεργασιών που εκτελούνται παράλληλα. Α Β C XOR AND D Μετά την D εκτελούνται παράλληλα οι B και C. Όταν τερματίσει μία από αυτές, π.χ. Β, εκτελείται η Α. Όταν τερματίσει και η άλλη, π.χ. C, τότε εκτελείται ξανά η Α.

Discriminator Pattern Α Β C DIS AND D Μετά την D εκτελούνται παράλληλα οι B και C. Όταν τερματίσει μία από αυτές, π.χ. Β, εκτελείται η Α. Όταν τερματίσει και η άλλη, π.χ. C, τότε αρχικοποιείται ξανά η διεργασία DIS.

N/M join Pattern Α Β C 2/3 AND D E M>N διεργασίες εκτελούνται παράλληλα. Μόλις Ν ολοκληρωθούν, ενεργοποιείται η επόμενη διεργασία Α Β C 2/3 AND D E Πότε ενεργοποιείται η Α?

Ενεργοποίηση Ροής Εργασίας (Διεργασίας) Η ενεργοποίηση αναπαριστά την ενεργό φάση στον κύκλο ζωής μιας ροής εργασίας, δηλαδή τη φάση κατά την οποία εκτελείται η διεργασία. Στιγμιότυπο Διεργασίας Ενεργοποίηση Ορισμός Διεργασίας Κατάσταση Εργασίας Αδρανής Ενεργή Προϋποθέσεις εργασιών Διακοπή για αναμονή π.χ. Πόρων ή αποτελεσμάτων Περατωθείσα Διακεκομμένη

Μοντέλα Ενεργοποίησης Ροών Εργασίας Περιγράφουν το περιβάλλον και τους μηχανισμούς ελέγχου που εξασφαλίζουν ομαλή μετάβαση από μια εργασία στην επόμενή της.

Ιεραρχικό Μοντέλο Πράκτορας Πράκτορας Ελέγχου Πράκτορας Ελέγχου Εργασία Πράκτορας Ελέγχου Εργασία Πράκτορας Ελέγχου Εργασία Πράκτορας Ελέγχου Εργασία Πράκτορας Ελέγχου Εργασία Μηχανή Ενεργοποίησης Ροής Εργασίας

Συγχρονισμός Ροών Εργασίας Δοθέντων Συστήματος Σ, με αρχική κατάσταση σ_initial και τελική σ_final Ομάδας διεργασιών P={p1, p2, …, pn}, όπου κάθε διεργασία pi έχει pre(pi), post(pi), attr(pi) Ροής Εργασίας με γράφο Α, όπου οι κόμβοι είναι διεργασίες και οι ακμές pipj σημαίνουν ότι pre(pj)  post(pi) Συνόλου περιορισμών C={C1, C2, …, Cm} Το πρόβλημα του συγχρονισμού είναι να φτάσει το Σ στην κατάσταση σ_final, ξεκινώντας από την σ_initial, σαν αποτέλεσμα κάποιας διεργασίας P_final P, υπό περιορισμούς Ci  C. H σ_initial θεωρείται ότι εκπληρώνει τις προϋποθέσεις για κάποια P_initial.

Μοντέλο Ισχυρού Συγχρονισμού (strong coordination) Το σύνολο διεργασιών P εκτελείται υπό την επίβλεψη μιας ή περισσότερων διεργασιών επιστασίας. Μια διεργασία επιστασίας λειτουργεί σαν μηχανή ενεργοποίησης και εξασφαλίζει την ομαλή μετάβαση από τη μια διεργασία στην άλλη με βάση το γράφο διεργασιών. Μπορεί να χρησιμοποιηθεί το Ιεραρχικό Μοντέλο: ο επιστάτης στο επίπεδο e επιβλέπει τις διεργασίες στο επίπεδο e+1, με τις διεργασίες οργανωμένες σε μορφή δέντρου.

Μοντέλο Ασθενούς Συγχρονισμού (weak coordination) Το σύνολο διεργασιών Ρ εκτελείται χωρίς κεντρική επίβλεψη από ειδική διεργασία. Peer-to-peer επικοινωνία μεταξύ διεργασιών μέσω κοινού χώρου (tuple space). Όταν μια διεργασία ολοκληρώνεται, τοποθετεί σύμβολα (πιθανά και μέρος των αποτελεσμάτων της) στον κοινό χώρο. Κάθε διεργασία επισκέπτεται τον κοινό χώρο για να διαπιστώσει αν εκπληρώνονται οι προϋποθέσεις εκκίνησής της. Στην απλούστερη περίπτωση ο κοινός χώρος είναι διάνυσμα Ν διεργασιών, όπου 1 στη θέση i του διανύσματος σημαίνει ότι η διεργασία Pi έχει ολοκληρωθεί.