Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> Προγραμματισμός Java

Τι είναι ένα υπολογιστικό πρόγραμμα που είναι δεσμευμένο;

Ένα πρόγραμμα υπολογισμού είναι ένα πρόγραμμα του οποίου ο χρόνος εκτέλεσης καθορίζεται κυρίως από το ποσό του υπολογισμού που εκτελεί, και όχι από το ποσό των εργασιών I/O (εισόδου/εξόδου) που πρέπει να κάνει. Με άλλα λόγια, ξοδεύει το μεγαλύτερο μέρος του χρόνου που χτυπάει τους αριθμούς, την εκτέλεση υπολογισμών ή άλλα καθήκοντα έντασης CPU και σχετικά λίγο χρόνο περιμένοντας τα δεδομένα να διαβαστούν από ή να γράφονται σε δίσκο, δίκτυο ή άλλους εξωτερικούς πόρους.

Εδώ είναι μια κατανομή:

* ΥΠΗΡΕΣΙΑ: Ο πυρήνας του προγράμματος περιλαμβάνει πολύπλοκες μαθηματικές λειτουργίες, προσομοιώσεις, επεξεργασία δεδομένων ή άλλους υπολογιστικά απαιτητικούς αλγόριθμους. Σκεφτείτε πράγματα όπως:

* Επιστημονικές προσομοιώσεις (πρόβλεψη καιρού, μοριακή δυναμική)

* Εκπαίδευση μοντέλου μηχανικής μάθησης

* Κρυπτογραφικές πράξεις

* Επεξεργασία εικόνας/βίντεο (ειδικά υψηλής ανάλυσης)

* Ανάλυση δεδομένων που περιλαμβάνει μεγάλα σύνολα δεδομένων

* I/O-Limited (αντίθεση): Αντίθετα, ένα πρόγραμμα I/O-Bound ξοδεύει το μεγαλύτερο μέρος του χρόνου του να περιμένει να ολοκληρωθεί οι λειτουργίες I/O. Παραδείγματα περιλαμβάνουν:

* Διακομιστές ιστού (περιμένοντας αιτήματα)

* Εφαρμογές βάσης δεδομένων (αναμονή για ανάγνωση δίσκου/γράφει)

* Προγράμματα που βασίζονται σε μεγάλο βαθμό στην επικοινωνία δικτύου

Βασικά χαρακτηριστικά των προγραμμάτων υπολογισμών:

* Υψηλή χρήση CPU: Κατά τη διάρκεια της εκτέλεσης, η CPU θα χρησιμοποιηθεί κοντά στο 100%.

* Αργή εκτέλεση: Ακόμη και με ισχυρό υλικό, το πρόγραμμα θα πάρει μεγάλο χρονικό διάστημα για να ολοκληρωθεί λόγω της εγγενούς πολυπλοκότητας των υπολογισμών.

* βελτιώθηκε με ταχύτερους επεξεργαστές: Ο χρόνος εκτέλεσης μπορεί να μειωθεί σημαντικά χρησιμοποιώντας μια CPU με υψηλότερη ταχύτητα ρολογιού, περισσότερους πυρήνες ή καλύτερες δυνατότητες διανυσμάτων. Η προσθήκη περισσότερων RAM μπορεί επίσης να βοηθήσει εάν το σετ εργασίας του προγράμματος υπερβαίνει τη διαθέσιμη μνήμη.

* λιγότερο επηρεασμένο από ταχύτερα I/O: Η αναβάθμιση σε ταχύτερη αποθήκευση ή υλικό δικτύου θα έχει σχετικά μικρό αντίκτυπο στο συνολικό χρόνο εκτέλεσης.

Ο προσδιορισμός του εάν ένα πρόγραμμα είναι υπολογιστικό ή δεσμευμένο I/O είναι σημαντικό για τη βελτιστοποίηση της απόδοσης. Για τα προγράμματα που συνδέονται με τον υπολογισμό, η εστίαση θα πρέπει να είναι η βελτιστοποίηση των αλγορίθμων, χρησιμοποιώντας τις παράλληλες τεχνικές επεξεργασίας και ενδεχομένως να χρησιμοποιεί εξειδικευμένο υλικό όπως οι GPU. Για τα προγράμματα που συνδέονται με το I/O, η εστίαση θα μετατοπίζονταν στη βελτιστοποίηση των ερωτημάτων βάσης δεδομένων, χρησιμοποιώντας ταχύτερη αποθήκευση και βελτίωση της επικοινωνίας δικτύου.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα