Παράλληλα και κατανεμημένα συστήματα
From Wikipedia, the free encyclopedia
Στην πληροφορική, παράλληλα, κατανεμημένα ή ταυτόχρονα συστήματα ονομάζονται υπολογιστές οι οποίοι επιτρέπουν την ταυτόχρονη εκτέλεση πολλαπλών συνεργαζόμενων προγραμμάτων σε μία ή περισσότερες επεξεργαστικές μονάδες. Οι διαφορές μεταξύ αυτών των όρων είναι λεπτές, με την έμφαση να δίνεται άλλοτε στον σχεδιασμό και ανάλυση αλγορίθμων, άλλοτε στην κατασκευή υποστηρικτικού λογισμικού και άλλοτε στη σχεδίαση των υποδομών υλικού που απαιτούνται για την επίτευξη του ταυτοχρονισμού.
Το λήμμα δεν περιέχει πηγές ή αυτές που περιέχει δεν επαρκούν. |
Κατά τη δεκαετία του 1960 η εμφάνιση πολυδιεργασιακών λειτουργικών συστημάτων και η τυποποίηση της έννοιας της διεργασίας έφεραν στην επιφάνεια τον ταυτοχρονισμό, μία ιδιότητα των υπολογιστικών συστημάτων η οποία αφορά την παράλληλη ή ψευδοπαράλληλη εκτέλεση διαφορετικών, συνεργαζόμενων διεργασιών, σε έναν ή περισσότερους υπολογιστές, για την εκτέλεση ενός υπολογισμού. Αρχικώς οι επιστήμονες της θεωρητικής πληροφορικής επιχείρησαν να δώσουν απαντήσεις σε αλγοριθμικά ζητήματα λογισμικού όπως ο αμοιβαίος αποκλεισμός, η εκλογή αρχηγού, ο συγχρονισμός και η ομοφωνία μεταξύ συνεργαζόμενων, ταυτοχρόνως εκτελούμενων διεργασιών (το πεδίο αυτό σήμερα προσδιορίζεται με τον όρο κατανεμημένος υπολογισμός), ενώ με τις μεθόδους πρακτικής υλοποίησης της πολυδιεργασίας (τον χρονοπρογραμματισμό) ασχολήθηκαν οι ερευνητές από τον χώρο των λειτουργικών συστημάτων.
Με την καθιέρωση υπολογιστών με πολλαπλούς επεξεργαστές, όπου οι διεργασίες μπορούσαν να εκτελούνται πραγματικά παράλληλα και όχι ψευδοπαράλληλα, προέκυψαν νέα ζητήματα υλικού με αποτέλεσμα να αναδυθεί η παράλληλη επεξεργασία, ένα επιστημονικό πεδίο το οποίο μελετά, τόσο από πλευράς υλικού όσο και λογισμικού, μόνο υπολογιστικά συστήματα με πολλαπλές επεξεργαστικές μονάδες. Τα συστήματα αυτά μπορούν να εκτελούν ορισμένες, κατάλληλα σχεδιασμένες εφαρμογές (συνήθως επιστημονικού σκοπού, π.χ. προσομοιώσεις) ταχύτερα απ' ό,τι οι συνηθισμένοι σειριακοί υπολογιστές αρχιτεκτονικής Φον Νόιμαν. Την ίδια περίοδο όμως εξελίσσονταν και τα δίκτυα υπολογιστών με αποτέλεσμα, καθώς η δικτύωση άρχισε να είναι πανταχού παρούσα προς τα τέλη της δεκαετίας του 1970, να εμφανιστούν δικτυακά προγράμματα που όχι μόνο αλληλεπιδρούσαν μεταξύ τους μέσω της υποκείμενης δικτυακής υποδομής αλλά εκτελούσαν από κοινού υπολογισμούς με διαφανή για τον χρήστη τρόπο, διασπώντας τους σε τμήματα και κατανέμοντάς τους μεταξύ τους, ενώ στο εξωτερικό περιβάλλον εμφανίζονταν ως ένα μοναδικό σύστημα. Καθώς αυτός ήταν ένας τύπος παραλληλισμού εμφανίστηκε ο όρος κατανεμημένη επεξεργασία για να τον περιγράψει.
Η κατανεμημένη επεξεργασία αποτελεί ένα υποσύνολο της παράλληλης επεξεργασίας, στο οποίο όλες οι CPU έχουν ιδιωτικές, τοπικές μνήμες με ξεχωριστούς χώρους διευθύνσεων (είναι δηλαδή ανεξάρτητοι, δικτυωμένοι υπολογιστές) και παρέχουν στον χρήστη την ψευδαίσθηση του ενιαίου, μοναδικού συστήματος. Ο όρος «κατανεμημένο σύστημα» αναφέρεται τόσο στο υλικό (επεξεργαστές, μνήμες, δίκτυο) όσο και στο λογισμικό (λειτουργικό σύστημα, εφαρμογές) που είναι απαραίτητα για να υλοποιηθούν η κατανομή και αυτή η ψευδαίσθηση, με έμφαση όμως στο λογισμικό. Στα κατανεμημένα συστήματα, σε αντίθεση με τα παράλληλα, η εικόνα συνεκτικότητας των γεωγραφικά διεσπαρμένων πόρων είναι συνήθως σπουδαιότερος στόχος από την αύξηση των υπολογιστικών επιδόσεων που επιτυγχάνεται με τον παραλληλισμό. Δεν είναι σπάνιο μάλιστα να μη συμμετέχουν καν οι κόμβοι σε κάποιον από κοινού υπολογισμό αλλά να εκτελούν διαφορετικές επιμέρους εργασίες, παρουσιαζόμενοι όμως στο εξωτερικό περιβάλλον (π.χ. σε πελάτες οι οποίοι ζητούν υπηρεσίες) ως ενιαίο σύστημα. Αυτά ονομάζονται μη συνεκτικά κατανεμημένα συστήματα (π.χ. ο Παγκόσμιος Ιστός ή οι ομότιμες εφαρμογές ανταλλαγής αρχείων μέσω Διαδικτύου), σε αντίθεση με τα συνεκτικά κατανεμημένα συστήματα, τα οποία αξιοποιούνται περισσότερο ως συνήθη παράλληλα συστήματα για τη μεγιστοποίηση των υπολογιστικών επιδόσεων.