Skip to main content

Πρότυπα κωδικοποίησης πολλαπλών κωδίκων Σκοπός ευκολίας προγραμματισμού

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

Η ένωση συνθέτει ένα συνεκτικό σύνολο API θεμελίωσης (προγραμματιστές διασύνδεσης εφαρμογών) για την τυποποίηση της επικοινωνίας, της ανταλλαγής πόρων και της εικονικοποίησης που καλύπτουν τους πυρήνες των ίδιων ή διαφορετικών μαρκών, δήλωσε ο πρόεδρος του ομίλου Markus Levy

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

Τα API χαμηλού επιπέδου παρέχουν συνεπή πολυπύρηνο μοντέλο προγραμματισμού από το οποίο οι εφαρμογές μπορούν να προσαρμοστούν για να τρέξουν σε αρχιτεκτονικές chip, λειτουργικά συστήματα και εξειδικευμένο υλικό, δήλωσε ο Levy. Η Multicore Association έχει ολοκληρώσει το API πολλαπλών επικοινωνιών MCAPI και MRAPI για την επικοινωνία και διαχείριση πόρων αντίστοιχα και έχει ομάδες εργασίας για τη δημιουργία νέων εργαλείων και API που σχετίζονται με την εικονικοποίηση

«Υπάρχουν πολλοί αποδέκτες της ίδρυσης αυτών των API, αλλά ο πρωταρχικός στόχος για όλα τα μέρη είναι να καθιερώσουν τη φορητότητα ", δήλωσε ο Levy. Ένα συνεπές μοντέλο προγραμματισμού διευκολύνει την επαναχρησιμοποίηση της εφαρμογής σε διαφορετικές πλατφόρμες πολλαπλών χρήσεων. Πριν από αυτά τα API, τα περισσότερα σχέδια χρησιμοποίησαν αποκλειστικούς μηχανισμούς που δεν είχαν φορητότητα, λέει ο Levy.

Ένα smartphone μπορεί να σχεδιαστεί χρησιμοποιώντας πολλαπλούς πυρήνες επεξεργαστών που λειτουργούν με διαφορετικά λειτουργικά συστήματα, με κάθε πυρήνα να παρέχει διαφορετικές λειτουργίες, δήλωσε ο Colin Walls, Mentor Graphics, που καθιστά το λειτουργικό σύστημα Nucleus σε πραγματικό χρόνο που μεταφέρει περίπου 400 εκατομμύρια συσκευές κάθε χρόνο. Το MCAPI παρέχει ένα απλό μέσο για να επικοινωνήσει το λογισμικό στους δύο πυρήνες,

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

"Χρησιμοποιώντας το MCAPI, ο κώδικας ενσωματωμένων εφαρμογών δεν χρειάζεται να γνωρίζει "Το MCAPI επιτρέπει στους προγραμματιστές να ενεργοποιούν τις εφαρμογές για multicore μία φορά και να επαναχρησιμοποιούν τον ίδιο κώδικα σε πολλά προϊόντα σε μια σειρά προϊόντων και για την επόμενη γενιά με αποτέλεσμα να βελτιωθεί η παραγωγικότητα της μηχανικής, δήλωσε ο Sven Brehmer, Διευθύνων Σύμβουλος της PolyCore Software, ο οποίος παρέχει εργαλεία ανάπτυξης και λογισμικό χρόνου εκτέλεσης για επικοινωνία πολλαπλών και πολλαπλών επικοινωνιών.

Το MCAPI χρησιμοποιείται περισσότερο στις υποδομές τηλεπικοινωνιών και δεδομένων και σε συσκευές πολυμέσων, δήλωσε ο Brehmer . Άλλοι τομείς ενδιαφέροντος περιλαμβάνουν ιατρικές συσκευές, υπολογιστές υψηλών επιδόσεων και στρατιωτικό και αεροναυτικό εξοπλισμό όπως το ραντάρ.

Το API επιτρέπει τη δημιουργία τομέων για συγκεκριμένες εφαρμογές, όπως η επικοινωνία μεταξύ πυρήνων σε ένα συγκεκριμένο τσιπ ή σε συγκεκριμένες περιοχές σε ένα τοπολογία του τσιπ. Αυτό δίνει στους σχεδιαστές καλύτερο έλεγχο στη δρομολόγηση και την ασφάλεια των μηνυμάτων τους, δήλωσε ο Levy

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

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

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

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

Ο οργανισμός αναπτύσσει επίσης API για χρήστες ενσωματωμένων προϊόντων εικονικοποίησης, οι οποίοι θα μπορούσαν να επιτρέψουν τη διαλειτουργικότητα των εφαρμογών και του ενδιάμεσου λογισμικού σε διάφορα περιβάλλοντα εικονικοποίησης. Όμως, μεγαλύτερη έμφαση δίνεται στην ανάπτυξη τυποποιημένων εργαλείων που αξιοποιούν τα API. Ορισμένοι υποστηρικτές των νέων API όπως οι Mentor, Intel, Freescale και Texas Instruments, για παράδειγμα, όλοι είχαν αναπτύξει τα δικά τους εργαλεία εντοπισμού σφαλμάτων και ανίχνευσης, δήλωσε ο Levy

"Το καθαρό αποτέλεσμα για τους πωλητές εργαλείων είναι ότι όσο "Δεν υπάρχει κανένας μόνο πωλητής να προσφέρει όλα όσα απαιτούν οι πελάτες του και παρόλα αυτά οι πελάτες πρέπει να είναι σε θέση να αναπτύξουν και να κατανοήσουν αυτό το διαφορετικό σύστημα", δήλωσε ο Levy.

Υπάρχουν και άλλα multicore όπως OpenMP και OpenCL, αλλά όλα είναι σχεδιασμένα να είναι "συνεργιστικά" παρά ανταγωνιστικά, δήλωσε ο Brehmer της Polycore. Το OpenMP API έχει σχεδιαστεί για να γράφει παράλληλες εφαρμογές σε επίπεδο μηχανής, ενώ το OpenCL είναι ένα πλαίσιο προγραμματισμού για παράλληλη εκτέλεση εργασιών σε επεξεργαστές πολλαπλών κωδίκων, συμπεριλαμβανομένων CPU και επεξεργαστών γραφικών.

Τα μέλη της Multicore Association περιλαμβάνουν επίσης IBM, Samsung και Advanced Micro Devices.