ΑρχικήHow ToΤο Swarm κάνει τον παράλληλο προγραμματισμό ευκολότερο!

Το Swarm κάνει τον παράλληλο προγραμματισμό ευκολότερο!

Παρόλο που ο παράλληλος προγραμματισμός είναι γνωστός για την ταχύτητα και την αποτελεσματικότητά του, δεν είναι κρυφό ότι επιφέρει πολυπλοκότητα στον κώδικα. Για την αντιμετώπιση αυτού του προβλήματος, μερικοί ερευνητές του MIT συνεργάστηκαν για να δημιουργήσουν ένα νέο chip design που ονομάζεται Swarm.

Πριν σας μιλήσουμε γι’ αυτή τη σημαντική εξέλιξη που θα μπορούσε να κάνει τον παράλληλο προγραμματισμό λιγότερο κουραστική δουλειά, θα ήθελα να μιλήσω στους αρχάριους για τα βασικά του στοιχεία. Ο παράλληλος προγραμματισμός είναι μια μέθοδος εκτέλεσης ταυτόχρονων πολλαπλών υπολογισμών. Αυτό λειτουργεί με βάση την αρχή ότι ένα μεγάλο πρόβλημα μπορεί να χωριστεί σε μικρότερα, τα οποία στη συνέχεια επιλύονται ταυτόχρονα χρησιμοποιώντας 2 ή περισσότερους επεξεργαστές.

Το Swarm κάνει τον παράλληλο προγραμματισμό ευκολότερο!

Εάν εφαρμόσετε τις θεωρητικές γνώσεις σας, μπορείτε να σκεφτείτε ότι μια multicore μηχανή –για παράδειγμα με n πυρήνες- θα είναι n φορές πιο γρήγορη από ό,τι μία single core μηχανή. Ωστόσο, καθώς ένα μεγάλο κομμάτι υπολογιστικών προγραμμάτων είναι διαδοχικό το να τα σπάσει κανείς σε μικρότερα για να χρησιμοποιηθεί η έννοια του παράλληλου προγραμματισμού είναι μια κουραστική διαδικασία.

Ωστόσο, οι τελευταίες εξελίξεις που σημειώθηκαν στο Computer Science and Artificial Intelligence Laboratory (CSAIL) του MIT μπορούν να αλλάξουν αυτό το σενάριο.

Οι ερευνητές έχουν δημιουργήσει ένα νέο chip design που ονομάζεται Swarm, το οποίο τους επιτρέπει να κάνουν τα παράλληλα προγράμματα πιο εύκολα στην γραφή και να λειτουργούν με μεγαλύτερη αποτελεσματικότητα.

Στις δοκιμές τους, οι ερευνητές συνέκριναν τα υπάρχοντα παράλληλα μοντέλα προγραμματισμού με τις εκδόσεις του Swarm. Βρήκαν ότι οι εκδόσεις Swarm ήταν περίπου 18 φορές πιο γρήγορες. Παραδόξως, το πρόσφατα κατασκευασμένο μοντέλο χρειάζεται μόλις το 10% του κώδικα.

Επίσης, το Swarm σχέδιο ήταν σε θέση να επιταχύνει ένα πρόγραμμα -κατά το οποίο οι επιστήμονες ηλεκτρονικών υπολογιστών είχαν προηγουμένως αποτύχει να το παραλληλοποιήσουν- κατά έναν συντελεστή της τάξεως του 75.

Εξηγώντας πώς τα multicore  συστήματα είναι πιο δύσκολο να προγραμματιστούν, από τον Daniel Sanchez, ο επίκουρος καθηγητής του ΜΙΤ λέει :

«Θα πρέπει ρητά να διαιρέσεις τη δουλειά που κάνεις σε μικρότερες εργασίες, μετά θα πρέπει να συγχρονίσεις μεταξύ τους τα καθήκοντα που έχουν πρόσβαση σε κοινόχρηστα δεδομένα. Τι κάνει αυτή η αρχιτεκτονική, ουσιαστικά, είναι να αφαιρεί όλα τα είδη του ρητού συγχρονισμού για να κάνει τον παράλληλο προγραμματισμό πιο εύκολο.»

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

Γράφοντας ένα πρόγραμμα με τη Swarm λειτουργικότητα είναι εξίσου εύκολο. Όταν ένας προγραμματιστής προσδιορίζει μια λειτουργία, αυτός/αυτή πρέπει απλά να προσθέσει μια γραμμή κώδικα που φορτώνει τη λειτουργία αυτή στην ουρά του Swarm.

Μπορείτε να δείτε και περισσότερα στο ScienceDaily.

Εγγραφή στο Newsletter

* indicates required

FOLLOW US

LIVE NEWS