Παράλληλα και κατανεμημένα συστήματα: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Logictheo (συζήτηση | συνεισφορές)
μ Internet -> Διαδίκτυο
JohnMad (συζήτηση | συνεισφορές)
μΧωρίς σύνοψη επεξεργασίας
Γραμμή 1:
Στην [[επιστήμη υπολογιστών]] '''παράλληλα''', '''κατανεμημένα''' ή '''ταυτόχρονα συστήματα''' ονομάζονται [[ηλεκτρονικός υπολογιστής|υπολογιστές]] οι οποίοι επιτρέπουν την [[ταυτοχρονισμός|ταυτόχρονη]] εκτέλεση πολλαπλών συνεργαζόμενων [[πρόγραμμα υπολογιστή|προγραμμάτων]] σε μία ή περισσότερες [[Κεντρική Μονάδα Επεξεργασίας|επεξεργαστικές μονάδες]]. Οι διαφορές μεταξύ αυτών των όρων είναι λεπτές, με την έμφαση να δίνεται άλλοτε στον σχεδιασμό και ανάλυση [[αλγόριθμος|αλγορίθμων]], άλλοτε στην κατασκευή υποστηρικτικού [[λογισμικό|λογισμικού]] και άλλοτε στη σχεδίαση των υποδομών [[υλικό υπολογιστή|υλικού]] που απαιτούνται για την επίτευξη του ταυτοχρονισμού.
[[Image:Cray 2 Arts et Metiers dsc03940.jpg|350px|thumb|right|Ο ''Cray-2'', ο ταχύτερος υπολογιστής του κόσμου από το 1985 έως το 1989. Μία παραδοσιακή χρήση του υπολογιστικού παραλληλισμού είναι στον τομέα της κατασκευής τέτοιων [[υπερυπολογιστής|υπερυπολογιστών]].]]
Κατά τη [[Δεκαετία 1960|δεκαετία του 1960]] η εμφάνιση [[πολυδιεργασία|πολυδιεργασιακών]] [[λειτουργικό σύστημα|λειτουργικών συστημάτων]] και η τυποποίηση της έννοιας της [[διεργασία (υπολογιστές)|διεργασίας]] έφεραν στην επιφάνεια τον '''ταυτοχρονισμό''', μία ιδιότητα των υπολογιστικών συστημάτων η οποία αφορά την ''παράλληλη'' ή ''ψευδοπαράλληλη'' εκτέλεση διαφορετικών, συνεργαζόμενων διεργασιών, σε έναν ή περισσότερους υπολογιστές, για την εκτέλεση ενός υπολογισμού. Αρχικώς οι επιστήμονες της [[θεωρητική πληροφορική|θεωρητικής πληροφορικής]] επιχείρησαν να δώσουν απαντήσεις σε αλγοριθμικά ζητήματα λογισμικού όπως ο ''[[αμοιβαίος αποκλεισμός]]'', η ''εκλογή αρχηγού'', ο ''συγχρονισμός'' και η ''ομοφωνία'' μεταξύ συνεργαζόμενων, ταυτοχρόνως εκτελούμενων διεργασιών (το πεδίο αυτό σήμερα προσδιορίζεται με τον όρο '''κατανεμημένος υπολογισμός'''), ενώ με τις μεθόδους πρακτικής υλοποίησης της πολυδιεργασίας (τον [[χρονοπρογραμματισμός|χρονοπρογραμματισμό]]) ασχολήθηκαν οι ερευνητές από τον χώρο των λειτουργικών συστημάτων.
 
Με την καθιέρωση υπολογιστών με πολλαπλούς επεξεργαστές, όπου οι διεργασίες μπορούσαν να εκτελούνται πραγματικά παράλληλα και όχι ψευδοπαράλληλα, προέκυψαν νέα ζητήματα υλικού με αποτέλεσμα να αναδυθεί η ''παράλληλη επεξεργασία'', ένα επιστημονικό πεδίο το οποίο μελετά, τόσο από πλευράς υλικού όσο και λογισμικού, μόνο υπολογιστικά συστήματα με πολλαπλές επεξεργαστικές μονάδες. Τα συστήματα αυτά μπορούν να εκτελούν ορισμένες, κατάλληλα σχεδιασμένες εφαρμογές (συνήθως [[επιστήμη|επιστημονικού]] σκοπού, π.χ. [[προσομοίωση|προσομοιώσεις]]) ταχύτερα απ' ότι οι συνηθισμένοι ''σειριακοί'' υπολογιστές [[αρχιτεκτονική φον Νόιμαν|αρχιτεκτονικής Φον Νόιμαν]]. Την ίδια περίοδο όμως εξελίσσονταν και τα [[Δίκτυο υπολογιστών|δίκτυα υπολογιστών]] με αποτέλεσμα, καθώς η δικτύωση άρχισε να είναι πανταχού παρούσα προς τα τέλη της [[Δεκαετία 1970|δεκαετίας του 1970]], να εμφανιστούν δικτυακά προγράμματα που όχι μόνο αλληλεπιδρούσαν μεταξύ τους μέσω της υποκείμενης δικτυακής υποδομής αλλά εκτελούσαν από κοινού υπολογισμούς με διαφανή για τον χρήστη τρόπο, διασπώντας τους σε τμήματα και κατανέμοντάς τους μεταξύ τους, ενώ στο εξωτερικό περιβάλλον εμφανίζονταν ως ένα μοναδικό σύστημα. Καθώς αυτός ήταν ένας τύπος παραλληλισμού εμφανίστηκε ο όρος ''κατανεμημένη επεξεργασία'' για να τον περιγράψει.
 
Η κατανεμημένη επεξεργασία αποτελεί ένα υποσύνολο της παράλληλης επεξεργασίας, στο οποίο όλες οι [[CPU]] έχουν ιδιωτικές, τοπικές [[μνήμη υπολογιστή|μνήμες]] με ξεχωριστούς [[χώρος διευθύνσεων|χώρους διευθύνσεων]] (είναι δηλαδή ανεξάρτητοι, δικτυωμένοι υπολογιστές) και παρέχουν στον χρήστη την ψευδαίσθηση του ενιαίου, μοναδικού συστήματος. Ο όρος «κατανεμημένο σύστημα» αναφέρεται τόσο στο υλικό (επεξεργαστές, μνήμες, δίκτυο) όσο και στο λογισμικό (λειτουργικό σύστημα, εφαρμογές) που είναι απαραίτητα για να υλοποιηθούν η κατανομή και αυτή η ψευδαίσθηση, με έμφαση όμως στο λογισμικό. Στα κατανεμημένα συστήματα, σε αντίθεση με τα παράλληλα, η εικόνα συνεκτικότητας των γεωγραφικά διεσπαρμένων [[πόρος (υπολογιστές)|πόρων]] είναι συνήθως σπουδαιότερος στόχος από την αύξηση των υπολογιστικών επιδόσεων που επιτυγχάνεται με τον παραλληλισμό. Δεν είναι σπάνιο μάλιστα να μη συμμετέχουν καν οι κόμβοι σε κάποιον από κοινού υπολογισμό αλλά να εκτελούν διαφορετικές επιμέρους εργασίες, παρουσιαζόμενοι όμως στο εξωτερικό περιβάλλον (π.χ. σε πελάτες οι οποίοι ζητούν υπηρεσίες) ως ενιαίο σύστημα. Αυτά ονομάζονται ''μη συνεκτικά κατανεμημένα συστήματα'' (π.χ. ο [[Παγκόσμιος Ιστός]] ή οι [[Peer-to-peer|ομότιμες εφαρμογές ανταλλαγής αρχείων]] μέσω [[Διαδίκτυο|Διαδικτύου]]), σε αντίθεση με τα ''συνεκτικά κατανεμημένα συστήματα'', τα οποία αξιοποιούνται περισσότερο ως συνήθη παράλληλα συστήματα για τη μεγιστοποίηση των υπολογιστικών επιδόσεων.