Ιστοσελίδες

Απαιτήσεις Παράλληλης Εφαρμογή Killer για Μαζική Υιοθεσία

Words at War: Eighty-Three Days: The Survival Of Seaman Izzi / Paris Underground / Shortcut to Tokyo

Words at War: Eighty-Three Days: The Survival Of Seaman Izzi / Paris Underground / Shortcut to Tokyo
Anonim

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

Πολλή εστίαση και χρήματα έχουν γίνει για την κατασκευή μηχανών και καλύτερων προγραμματιστικών γλωσσών, δήλωσε ο David Patterson, ένας υπολογιστής καθηγητής επιστήμης στο Πανεπιστήμιο της Καλιφόρνιας, Μπέρκλεϊ, στη διάσκεψη στο Στάνφορντ τη Δευτέρα. Συγκριτικά ελάχιστη προσοχή έχει δοθεί στη συγγραφή προγραμμάτων για επιτραπέζιους υπολογιστές παράλληλα, αλλά εφαρμογές όπως παιχνίδια και μουσική θα μπορούσαν να αλλάξουν αυτό. Οι χρήστες αυτών των προγραμμάτων απαιτούν την καλύτερη απόδοση σε πραγματικό χρόνο, έτσι οι προγραμματιστές ίσως χρειαστεί να υιοθετήσουν μοντέλα που διαλύουν τις εργασίες σε πολλαπλά νήματα και πυρήνες.

Για παράδειγμα, νέες μορφές παραλληλισμού θα μπορούσαν να βελτιώσουν την ποιότητα της μουσικής που αναπαράγεται στους υπολογιστές και smartphones, είπε ο Patterson. Ο κώδικας που κάνει καλύτερη δουλειά διαχωρισμού των καναλιών και των οργάνων θα μπορούσε τελικά να παράγει ήχο μέσω παράλληλης αλληλεπίδρασης.

Το Πανεπιστήμιο της Καλιφόρνιας, Berkeley, διαθέτει ένα παράλληλο εργαστήριο πληροφορικής, όπου οι ερευνητές προσπαθούν να καταλάβουν πώς χρησιμοποιούνται οι εφαρμογές, για φορητές συσκευές. Ένα έργο στοχεύει να φέρει την περιήγηση σε ποιότητα γραφικών σε συσκευές χειρός, βελτιστοποιώντας τον κώδικα με βάση συγκεκριμένες εργασίες όπως απόδοση και ανάλυση σελίδων. Ένα άλλο έργο περιλαμβάνει βελτιστοποίηση κώδικα για ταχύτερη ανάκτηση πληροφοριών υγείας. Το εργαστήριο χρηματοδοτείται κυρίως από την Intel και τη Microsoft

Οι ερευνητές του Berkeley προσπαθούν να φέρουν παραλληλισμό αντικαθιστώντας τα κομμάτια του κώδικα που γράφτηκαν αρχικά χρησιμοποιώντας γλώσσες δέσμης ενεργειών όπως Python και Ruby on Rails με νέο κώδικα C χαμηλού επιπέδου. Ο νέος κώδικας επικεντρώνεται ειδικά σε συγκεκριμένα καθήκοντα όπως η ανάλυση ενός συγκεκριμένου προτύπου φωνής σε μια εφαρμογή αναγνώρισης ομιλίας, ανέφερε ο Patterson σε συνέντευξη την Τετάρτη. Ο κώδικας γράφεται χρησιμοποιώντας OpenMP ή MPI, διεπαφές προγραμματισμού εφαρμογών που έχουν σχεδιαστεί για να γράφουν παράλληλες εφαρμογές σε επίπεδο μηχανής.

Οι ειδικοί πρέπει να γράψουν αυτόν τον εξαιρετικά εξειδικευμένο παράλληλο κώδικα, είπε ο Patterson. Μειώνει τον χρόνο ανάπτυξης για προγραμματιστές οι οποίοι διαφορετικά θα χρησιμοποιούσαν Python και Ruby on Rails, οι οποίοι καθιστούν την ανάπτυξη εφαρμογών ευκολότερη, αλλά δεν επικεντρώνονται στον παραλληλισμό, είπε ο Patterson στη συνέντευξη. Το εργαστήριο έχει δείξει συγκεκριμένο άλμα εκτέλεσης εργασιών κατά συντελεστή 20 με τον κωδικό μηχανής χαμηλού επιπέδου.

Η έννοια του παραλληλισμού δεν είναι καινούργια και έχει ως επί το πλείστον τον τομέα των υπολογιστικών υψηλής απόδοσης. Χαμηλά επίπεδα παραλληλισμού ήταν πάντοτε δυνατά, αλλά οι προγραμματιστές αντιμετώπισαν ένα δύσκολο έργο με έλλειψη εργαλείων λογισμικού και συνεχώς μεταβαλλόμενου περιβάλλοντος υλικού.

«Τα νήματα πρέπει να συγχρονίζονται σωστά», δήλωσε ο Χρήστος Κοζυράκης, καθηγητής ηλεκτρολογίας και την επιστήμη των υπολογιστών στο Πανεπιστήμιο του Στάνφορντ, κατά τη διάρκεια μιας παρουσίασης πριν από τη συζήτηση της ομάδας. Ο κώδικας πρέπει να είναι γραμμένος σε μορφή που να συμπεριφέρεται με προβλέψιμο τρόπο και να κλιμακώνεται όσο περισσότεροι πυρήνες θα είναι διαθέσιμοι.

Οι μεταγλωττιστές πρέπει επίσης να γίνουν πιο έξυπνοι και να είναι αρκετά αντιληπτοί ώστε να διασπάσουν τα νήματα εγκαίρως, έτσι ώστε οι εξόδους να λαμβάνονται με σωστή σειρά, δήλωσε ο Κοζυράκης. Ελαττωματικές προσπάθειες δημιουργίας παραλληλισμού στον κώδικα θα μπορούσαν να δημιουργήσουν λογισμικό buggy εάν ​​οι συγκεκριμένοι υπολογισμοί δεν εκτελούνται με συγκεκριμένη σειρά. Αυτό είναι ένα πρόβλημα που συνήθως αναφέρεται ως συνθήκες φυλής. Οι κωδικοποιητές μπορεί επίσης να πρέπει να μάθουν πώς να χρησιμοποιούν πολλαπλά εργαλεία προγραμματισμού για την επίτευξη λεπτότερων επιπέδων παραλληλισμού, ανέφεραν οι συμμετέχοντες.

«Δεν υπάρχει καμία λύση για τον προγραμματισμό», δήλωσε ο Patterson στο συνέδριο.

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

Πολλά εργαλεία παραλληλισμού που είναι διαθέσιμα σήμερα σχεδιάζονται για να αξιοποιήσουν τις δυνατότητες παράλληλης επεξεργασίας επεξεργαστών και επεξεργαστών γραφικών για να βελτιώσουν την απόδοση του συστήματος. Η Apple, η Intel, η Nvidia και η Advanced Micro Devices είναι μεταξύ των εταιριών που προωθούν το OpenCL, ένα παράλληλο περιβάλλον προγραμματισμού που θα υποστηριχθεί στο επερχόμενο λειτουργικό σύστημα Mac OS X 10.6 της Apple, που ονομάζεται Snow Leopard. Η OpenCL ανταγωνίζεται τη Microsoft, η οποία προωθεί τα ιδιόκτητα παράλληλα εργαλεία προγραμματισμού DirectX και το Nvidia, το οποίο προσφέρει το πλαίσιο CUDA.

Το OpenCL περιλαμβάνει μια γλώσσα προγραμματισμού τύπου C με API (διεπαφές προγραμματισμού εφαρμογών) ως πυρήνες επεξεργαστών και άλλους πόρους. Το OpenCL θα μπορούσε να βοηθήσει το Mac OS να αποκωδικοποιήσει το βίντεο ταχύτερα, διανέμοντας επεξεργασία εικονοστοιχείων σε πολλαπλές μονάδες επεξεργασίας γραφικών και γραφικών σε ένα σύστημα.

Όλα τα υπάρχοντα εργαλεία προσανατολίζονται σε διαφορετικά περιβάλλοντα λογισμικού και εκμεταλλεύονται διαφορετικούς πόρους, ανέφερε ο Patterson. Το OpenCL, για παράδειγμα, προσανατολίζεται περισσότερο προς την εκτέλεση εργασιών σε μονάδες GPU. Τα ιδιόκτητα μοντέλα όπως το DirectX είναι δύσκολο να αναπτυχθούν σε ετερογενή περιβάλλοντα υπολογιστών, ενώ ορισμένα μοντέλα όπως το OpenCL προσαρμόζονται μόνο σε συγκεκριμένα περιβάλλοντα που βασίζονται σε GPUs.

"Δεν νομίζω ότι το OpenCL πρόκειται να υιοθετηθεί σε όλες τις αρχιτεκτονικές." Είπε ο Πάτερσον. «Εν τω μεταξύ, πρέπει να προσπαθούμε και για άλλα πράγματα», σαν να προσπαθούμε να βελτιώσουμε τα μοντέλα προγραμματισμού με κοινά χρησιμοποιούμενα αναπτυξιακά εργαλεία όπως το Ruby on Rails

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

Ο Κοζυράκης είπε ότι το Στάνφορντ έχει δημιουργήσει ένα εργαστήριο που στοχεύει να «κάνει την εφαρμογή παράλληλων εφαρμογών πρακτική για τις μάζες» έως το 2012 Οι ερευνητές συνεργάζονται με εταιρείες όπως η Intel, η AMD, η IBM, η Sun, η Hewlett-Packard και η Nvidia.

Μια άμεση δοκιμή εργασιών για τους προγραμματιστές θα μπορούσε να είναι να προσπαθήσουμε να μετατρέψουμε τον υφιστάμενο κώδικα κληρονομιάς παράλληλα για εκτέλεση σε σύγχρονες μάρκες, το Patterson του Berkeley είπε. Μερικές εταιρείες προσφέρουν αυτόματη παραλληλισμό, αλλά η επανεγγραφή και η σύνταξη του κώδικα κληρονομιάς που γράφτηκε αρχικά για τη διαδοχική εκτέλεση θα μπορούσε να είναι μια μεγάλη πρόκληση.

"Υπάρχουν χρήματα που πρέπει να γίνουν στις περιοχές αυτές", ανέφερε ο Patterson.