GR20180100189A - Δικτυο επεξεργασιας δεδομενων με συμπυκνωση ροης για μεταφορα δεδομενων μεσω streaming - Google Patents

Δικτυο επεξεργασιας δεδομενων με συμπυκνωση ροης για μεταφορα δεδομενων μεσω streaming Download PDF

Info

Publication number
GR20180100189A
GR20180100189A GR20180100189A GR20180100189A GR20180100189A GR 20180100189 A GR20180100189 A GR 20180100189A GR 20180100189 A GR20180100189 A GR 20180100189A GR 20180100189 A GR20180100189 A GR 20180100189A GR 20180100189 A GR20180100189 A GR 20180100189A
Authority
GR
Greece
Prior art keywords
data
node
mesh
response
originating node
Prior art date
Application number
GR20180100189A
Other languages
English (en)
Inventor
Jamshed Jalal
Dimitrios Kaseridis
Tushar P. Ringe
Phanindra Kumar Mannava
Original Assignee
Arm Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arm Limited filed Critical Arm Limited
Priority to GR20180100189A priority Critical patent/GR20180100189A/el
Priority to EP19721686.4A priority patent/EP3788493B1/en
Priority to CN201980030104.8A priority patent/CN112074822B/zh
Priority to US17/051,028 priority patent/US11483260B2/en
Priority to PCT/GB2019/051217 priority patent/WO2019211611A1/en
Priority to JP2020561628A priority patent/JP7419261B2/ja
Publication of GR20180100189A publication Critical patent/GR20180100189A/el

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1048Scalability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

Δίκτυο επεξεργασίας δεδομένων με συμπύκνωση ροής για μεταφορά δεδομένων μέσω streaming
ΥΠΟΒΑΘΡΟ
11] Τα συστήματα επεξεργασίας δεδομένων, όπως ένα σύστημα σε μικροπλακέτα (System-on-a-Chip ή SoC) μπορεί να περιλαμβάνουν πολλαπλούς πυρήνες επεξεργαστών, πολλαπλές κρυφές μνήμες δεδομένων και κοινόχρηστους πόρους δεδομένων. Σε ένα κοινόχρηστο σύστημα μνήμης για παράδειγμα, κάθε ένας από τους πυρήνες του επεξεργαστή μπορεί να διαβάζει και να γράφει σε ένα μόνο κοινόχρηστο χώρο διευθύνσεων. Η συνοχή κρυφής μνήμης είναι ένα ζήτημα σε οποιοδήποτε σύστημα περιέχει μια ή περισσότερες κρυφές μνήμες και περισσότερες από μια συσκευές που χρησιμοποιούν από κοινού δεδομένα σε μια μόνο περιοχή κρυφής μνήμης. Υπάρχουν δύο πιθανά προβλήματα σε ένα σύστημα που περιέχει κρυφές μνήμες. Πρώτα, η μνήμη μπορεί να ενημερώνεται από μια άλλη συσκευή αφού μια συσκευή κρυφής μνήμης έχει δημιουργήσει ένα αντίγραφο. Σε αυτό το σημείο, τα δεδομένα εντός της κρυφής μνήμης δεν είναι ενημερωμένα ή είναι άκυρα και δεν περιέχουν πια τα πλέον ενημερωμένα δεδομένα. Δεύτερο, τα συστήματα που περιέχουν κρυφές μνήμες ετερόχρονης εγγραφής πρέπει να αντιμετωπίσουν την περίπτωση στην οποία η συσκευή γράφει στο τοπικό αντίγραφο κρυφής μνήμης στο οποίο σημείο η μνήμη δεν περιέχει πια τα πλέον ενημερωμένα δεδομένα. Μια δεύτερη συσκευή που διαβάζει τη μνήμη θα δει μη ενημερωμένα δεδομένα.
[2] Το σύστημα επεξεργασίας δεδομένων μπορεί να διατάσσεται ως ένας αριθμός κόμβων συνδεδεμένων μεταξύ τους μέσω ενός συστήματος διασύνδεσης για το σχηματισμό ενός δικτύου. Ένα παράδειγμα ενός πρωτοκόλλου για τη διατήρηση της συνοχής της κρυφής μνήμης χρησιμοποιεί αιτήματα διερεύνησης. Όταν ένας κόμβος ενός δικτύου επιθυμεί την πρόσβαση σε δεδομένα που σχετίζονται με μια συγκεκριμένη διεύθυνση, αποστέλλεται ένα μήνυμα διερεύνησης στους άλλους κόμβους οι οποίοι έχουν ένα αντίγραφο των αιτούμενων δεδομένων αποθηκευμένο σε μια τοπική κρυφή μνήμη.
[3] Σε γενικές γραμμές, η συνοχή διατηρείται σε ένα σύστημα επεξεργασίας δεδομένων με κοινόχρηστους πόρους υλοποιώντας ένα πρωτόκολλο μηνυμάτων. Η απόδοση του συστήματος περιορίζεται από την ικανότητα μεταφοράς μηνυμάτων του πλέγματος διασύνδεσης και από τον αριθμό των μηνυμάτων που απαιτούνται για την ολοκλήρωση κάθε συναλλαγής. Σε ορισμένες εφαρμογές, όπως η μεταφορά δεδομένων με streaming μέσω της διασύνδεσης, το πλέγμα διασύνδεσης μπορεί να παρουσιάσει συμφόρηση, περιορίζοντας με αυτό τον τρόπο την απόδοση του συστήματος.
ΣΥΝΤΟΜΗ ΠΕΡΙΓΡΑΦΗ ΤΩΝ ΣΧΕΔΙΑΓΡΑΜΜΑΤΩΝ
[4] Τα συνοδευτικά σχεδιαγράμματα παρέχουν οπτικές αναπαραστάσεις οι οποίες θα χρησιμοποιηθούν για την πληρέστερη περιγραφή διαφόρων αντιπροσωπευτικών υλοποιήσεων και μπορούν να χρησιμοποιούνται από τα έμπειρα στην τέχνη άτομα για την καλύτερη κατανόηση των αντιπροσωπευτικών υλοποιήσεων που δημοσιοποιούνται και των εγγενών πλεονεκτημάτων τους. Σε αυτά τα σχεδιαγράμματα, τα παρόμοια αριθμητικά αναφοράς προσδιορίζουν αντίστοιχα στοιχεία.
[5] Το Σχ. 1 είναι ένα διάγραμμα βαθμιδών ενός δικτύου επεξεργασίας δεδομένων, σύμφωνα με διάφορες αντιπροσωπευτικές υλοποιήσεις.
[6] Τα Σχ. 2 και Σχ. 3 είναι διαγράμματα ροής συναλλαγών για συναλλαγές εγγραφής δεδομένων σε μια συσκευή επεξεργασίας δεδομένων, σύμφωνα με υλοποιήσεις της δημοσιοποίησης.
[7] Το Σχ. 4 είναι ένα διάγραμμα που απεικονίζει τα κανάλια επικοινωνίας μεταξύ κόμβων ενός δικτύου επεξεργασίας δεδομένων, σύμφωνα με διάφορες αντιπροσωπευτικές υλοποιήσεις.
[8] Το Σχ. 5 είναι ένα διάγραμμα ροής συναλλαγών για μια συναλλαγή εγγραφής δεδομένων σε μια συσκευή επεξεργασίας δεδομένων, σύμφωνα με υλοποιήσεις της δημοσιοποίησης.
[9] Το Σχ. 6 είναι ένα διάγραμμα ροής μιας μεθόδου λειτουργίας ενός αρχικού κόμβου στην επεξεργασία μιας συναλλαγής εγγραφής δεδομένων, σύμφωνα με διάφορες αντιπροσωπευτικές υλοποιήσεις.
[10] Το Σχ. 7 είναι ένα διάγραμμα ροής μιας μεθόδου λειτουργίας ενός κόμβου αιτήματος στην επεξεργασία μιας συναλλαγής εγγραφής δεδομένων, σύμφωνα με διάφορες αντιπροσωπευτικές υλοποιήσεις.
ΛΕΠΤΟΜΕΡΗΣ ΠΕΡΙΓΡΑΦΗ
[11] Μολονότι αυτή η εφεύρεση είναι επιδεκτική πολλών διαφορετικών μορφών υλοποιήσεων, δείχνονται στα σχεδιαγράμματα και θα περιγραφούν λεπτομερώς στο παρόν, συγκεκριμένες υλοποιήσεις, με την κατανόηση ότι η παρούσα δημοσιοποίηση πρέπει να θεωρείται ως ένα παράδειγμα των παραδοχών της εφεύρεσης και δεν έχει σκοπό τον περιορισμό της εφεύρεσης στις συγκεκριμένες υλοποιήσεις που δείχνονται και περιγράφονται. Στην παρακάτω περιγραφή, παρόμοια αριθμητικά αναφοράς μπορεί να χρησιμοποιούνται για την περιγραφή των ίδιων, παρόμοιων ή αντίστοιχων τμημάτων στις αρκετές όψεις των σχεδιαγραμμάτων.
[12] Στο παρόν έγγραφο, οι συσχετιστικοί όροι όπως πρώτο και δεύτερο, επάνω και κάτω και παρόμοιοι μπορούν να χρησιμοποιούνται αποκλειστικά για τη διάκριση μιας οντότητας ή ενέργειας από μια άλλη οντότητα ή ενέργεια χωρίς απαραίτητα να απαιτείται ή να υπονοείται κάποια πραγματική τέτοια σχέση ή σειρά μεταξύ τέτοιων οντοτήτων ή ενεργειών. Οι όροι “αποτελείται”, “αποτελούμενο”, “περιλαμβάνει”, “συμπεριλαμβανομένου”, “έχει”, “έχοντας” ή όποιες άλλες παραλλαγές αυτών, έχουν σκοπό να καλύπτουν μια μη αποκλειστική συμπερίληψη, ώστε μια διαδικασία, μια μέθοδος, ένα αντικείμενο ή μια συσκευή η οποία αποτελείται από μια λίστα στοιχείων δε συμπεριλαμβάνει μόνο αυτά τα στοιχεία αλλά μπορεί να περιλαμβάνει και άλλα στοιχεία τα οποία δεν αναγράφονται σαφώς ή είναι εγγενή σε μια τέτοια διαδικασία, μέθοδο, αντικείμενο ή συσκευή. Ένα στοιχείο του οποίου προηγείται η έκφραση “αποτελείται ...ένα” δεν αποκλείει, χωρίς περισσότερους περιορισμούς, την ύπαρξη επιπλέον όμοιων στοιχείων στη διαδικασία, τη μέθοδο, το αντικείμενο ή τη συσκευή που απαρτίζει το στοιχείο.
[13] Η αναφορά σε όλο το παρόν έγγραφο σε “μια υλοποίηση”, “ορισμένες υλοποιήσεις”, “μια υλοποίηση”, “υλοποίηση(εις)”, “άποψη(εις)” ή παρόμοιους όρους σημαίνει ότι μια συγκεκριμένη ιδιότητα, μια κατασκευή ή ένα χαρακτηριστικό που περιγράφεται σε σύνδεση με την υλοποίηση περιλαμβάνεται σε μια τουλάχιστον υλοποίηση της παρούσας δημοσιοποίησης. Συνεπώς, οι εμφανίσεις τέτοιων φράσεων ή σε διάφορα σημεία σε όλη την παρούσα προδιαγραφή δεν αναφέρονται όλες απαραιτήτως στην ίδια υλοποίηση. Επιπλέον, οι συγκεκριμένες ιδιότητες, κατασκευές ή χαρακτηριστικά μπορούν να συνδυάζονται με οποιονδήποτε κατάλληλο τρόπο σε μια ή περισσότερες υλοποιήσεις χωρίς περιορισμό.
[14] Ο όρος “ή” όπως χρησιμοποιείται στο παρόν θα πρέπει να ερμηνεύεται ως περιεκτικός ή σημαίνει οποιοδήποτε ή οποιοσδήποτε συνδυασμός. Συνεπώς, “A, Β ή C” σημαίνει “οποιοδήποτε από τα ακόλουθα: A; Β; C; Α και Β; Α και C; Β και C; A, Β και C”. Μια εξαίρεση σε αυτό τον ορισμό θα υπάρξει μόνο όταν ένας συνδυασμός στοιχείων, συναρτήσεων, βημάτων ή δράσεων είναι με κάποιο τρόπο εγγενώς αμοιβαία αποκλειόμενα. Επίσης, οι γραμματικοί συνδυασμοί έχουν σκοπό την έκφραση οποιοσδήποτε και όλων των διαζευκτικών και συνδετικών συνδυασμών συνενούμενων όρων, προτάσεων, λέξεων και άλλων παρόμοιων, εκτός εάν αναφέρεται διαφορετικά ή σαφώς από τα συμφραζόμενα.
Συνεπώς, ο όρος “ή” θα πρέπει σε γενικές γραμμές να κατανοείται ότι σημαίνει “και/ή” και ούτω καθεξής.
[15] Όλα τα έγγραφα που αναφέρονται στο παρόν ενσωματώνονται με το παρόν μέσω παραπομπών στο σύνολό τους. Οι παραπομπές σε στοιχεία στον ενικό θα πρέπει να κατανοείται ότι περιλαμβάνει στοιχεία στον πληθυντικό, και αντίστροφα, εκτός εάν αναφέρεται ρητά διαφορετικά ή σαφώς από το κείμενο.
[16] Η απαγγελία περιοχών τιμών στο παρόν δεν έχει σκοπό να είναι περιοριστική και αναφέρεται αντίθετα ξεχωριστά σε οποιαδήποτε και όλες τις τιμές που εμπίπτουν στην περιοχή, εκτός εάν υποδηλώνεται διαφορετικά, ενώ κάθε ξεχωριστή τιμή εντός μιας τέτοιας περιοχής ενσωματώνεται στην προδιαγραφή σαν να απαγγελλόταν ξεχωριστά στο παρόν. Οι λέξεις “περίπου”, “κατά προσέγγιση”, “ουσιαστικά” ή άλλη παρόμοια, όταν συνοδεύουν μια αριθμητική τιμή, θα πρέπει να ερμηνεύονται ότι υποδηλώνουν μια απόκλιση όπως θα εκτιμούσε οποιοσδήποτε με συνήθη δεξιότητα στην τέχνη από την ικανοποιητική λειτουργία για έναν προοριζόμενο σκοπό. Στο παρόν παρέχονται περιοχές τιμών και/ή αριθμητικές τιμές μόνο ως παραδείγματα και δεν αποτελούν έναν περιορισμό στο πεδίο των υλοποιήσεων που περιγράφονται. Η χρήση οποιοσδήποτε και όλων των παραδειγμάτων ή παραδειγματικής γλώσσας (“π.χ.”, “όπως” ή άλλο παρόμοιο) που παρέχεται στο παρόν, έχει σκοπό απλά να επεξηγεί καλύτερα τις υλοποιήσεις και δε θέτει έναν περιορισμό στο πεδίο των υλοποιήσεων. Καμία γλώσσα στην προδιαγραφή δεν θα πρέπει να ερμηνεύεται ότι υποδηλώνει οποιοδήποτε μη αξιούμενο στοιχείο απαραίτητο στην εξάσκηση των υλοποιήσεων.
[17] Για λόγους απλότητας και σαφήνειας της απεικόνισης, αριθμητικά αναφοράς μπορεί να επαναλαμβάνονται ανάμεσα στα σχεδιαγράμματα ως υποδήλωση αντίστοιχων ή ανάλογων στοιχείων. Πολυάριθμες λεπτομέρειες αναφέρονται ώστε να παρέχουν μια κατανόηση των υλοποιήσεων που περιγράφονται στο παρόν. Οι υλοποιήσεις μπορούν να εξασκούνται χωρίς αυτές τις λεπτομέρειες. Σε άλλες περιπτώσεις, ευρέως γνωστές μέθοδοι, διαδικασίες και συνιστώσες δεν περιγράφονται λεπτομερώς ώστε να αποτρέπεται η ασάφεια από τις υλοποιήσεις που περιγράφονται. Η περιγραφή δε θεωρείται ως περιορισμένη στο πεδίο των υλοποιήσεων που περιγράφονται στο παρόν.
[18] Στην ακόλουθη περιγραφή, κατανοείται ότι όροι όπως “πρώτο”, “δεύτερο”, “ανώτατο”, “κατώτατο”, “επάνω”, “κάτω”, “επάνω από”, “κάτω από” και άλλοι παρόμοιοι, είναι λέξεις ευκολίας και δε θα πρέπει να ερμηνεύονται ως περιοριστικοί όροι. Επίσης, οι όροι συσκευή και διάταξη μπορούν να χρησιμοποιούνται κατ’ εναλλαγή στο παρόν κείμενο.
[19] Όπως χρησιμοποιείται στο παρόν, οι όροι "συζευγμένο", "συνδεδεμένο" και/ή παρόμοιοι όροι χρησιμοποιούνται γενικά. Θα πρέπει να γίνει κατανοητό ότι αυτοί οι όροι δεν προορίζονται ως συνώνυμα. Μάλλον, ο όρος "συνδεδεμένο" χρησιμοποιείται γενικά και υποδηλώνει ότι δύο ή περισσότερες συνιστώσες, για παράδειγμα, είναι σε άμεση φυσική, συμπεριλαμβανόμενης της ηλεκτρικής, επαφή, ενώ ο όρος, “συζευγμένο" χρησιμοποιείται γενικά και σημαίνει ότι δύο ή περισσότερες συνιστώσες είναι πιθανώς σε άμεση φυσική, συμπεριλαμβανόμενης της ηλεκτρικής, επαφή. Ωστόσο, ο όρος "συζευγμένο" χρησιμοποιείται επίσης γενικά και επίσης σημαίνει ότι δύο ή περισσότερες συνιστώσες δεν είναι απαραίτητα σε άμεση επαφή, όμως παρ’ όλα αυτά μπορούν να συνεργάζονται και/ή να αλληλεπιδρούν. Ο όρος “συζευγμένο” είναι επίσης κατανοητό ότι γενικά σημαίνει έμμεσα συνδεδεμένο, για παράδειγμα, σε ένα κατάλληλο πλαίσιο.
[20] Οι διάφορες υλοποιήσεις και τα παραδείγματα της παρούσας δημοσιοποίησης όπως παρουσιάζονται στο παρόν κατανοούνται ότι επεξηγούν την παρούσα δημοσιοποίηση και δεν την περιορίζουν όσον αφορά στο πεδίο της παρούσας δημοσιοποίησης.
[21] Περαιτέρω συγκεκριμένες και προτιμώμενες απόψεις της παρούσας δημοσιοποίησης αναφέρονται στις συνοδευτικές ανεξάρτητες και εξαρτώμενες αξιώσεις. Τα χαρακτηριστικά των εξαρτώμενων αξιώσεων μπορούν να συνδυάζονται κατάλληλα με χαρακτηριστικά των ανεξάρτητων αξιώσεων και σε συνδυασμούς διαφορετικούς από αυτούς που αναφέρονται ρητά στις αξιώσεις.
[22] Η παρούσα δημοσιοποίηση κατευθύνεται προς την επίτευξη αποδοτικής μεταφοράς δεδομένων σε ένα δίκτυο επεξεργασίας δεδομένων, όπως ένα σύστημα σε μικροπλακέτα (System-on-a-Chip ή SoC) υλοποιώντας ένα πρωτόκολλο που χρησιμοποιεί ένα μήνυμα απόκρισης μειωμένου αριθμού. Το πρωτόκολλο υλοποιείται σε υλικό και μειώνει τη συμφόρηση των μηνυμάτων στο πλέγμα διασύνδεσης δικτύου, βελτιώνοντας με αυτό τον τρόπο τη λειτουργία του δικτύου επεξεργασίας δεδομένων.
[23] Μια συσκευή επεξεργασίας δεδομένων μπορεί να χρησιμοποιεί πολλές διατάξεις επεξεργαστή εντός ενός ολοκληρωμένου κυκλώματος για την κλιμάκωση της απόδοσης και τη μείωση του λανθάνοντος χρόνου. Ένα πρόγραμμα ή μια εργασία μπορεί να διασπάται σε ανεξάρτητα βήματα που μπορούν να εκτελούνται παράλληλα από πολλαπλές διατάξεις. Όταν οι διατάξεις πρέπει να χρησιμοποιούν από κοινού δεδομένα ή να ελέγχουν πληροφορίες, επικοινωνούν μεταξύ τους μέσω μιας διασύνδεσης σε μικροπλακέτα.
[24] Τα δεδομένα μπορούν να αποθηκεύονται εκτός μικροπλακέτας σε μια κύρια μνήμη (όπως η DRAM) η οποία έχει αργή πρόσβαση και καταναλώνει πολύ ενέργεια. Η απόδοση βελτιώνεται χρησιμοποιώντας τοπικές κρυφές μνήμες L2 σε κάθε διάταξη επεξεργαστή στις οποίες είναι δυνατή η πρόσβαση από άλλες διατάξεις επεξεργαστή σε μικροπλακέτα. Αυτό, επιταχύνει την επικοινωνία μεταξύ επεξεργαστών και μειώνει την κατανάλωση ενέργειας. Επιπλέον, τα δεδομένα μπορούν να λαμβάνονται σε μια διάταξη επεξεργασίας από μια διάταξη εισόδου ή να γράφονται από μια διάταξη επεξεργασίας σε μια έξοδο.
[25] Ωστόσο, με τους κοινόχρηστους πόρους απαιτείται ένας μηχανισμός που να εξασφαλίζει ότι οποιοσδήποτε επεξεργαστής θα λαμβάνει τα πιο πρόσφατα δεδομένα και όχι μη ενημερωμένα ή ξεπερασμένα δεδομένα. Μια προσέγγιση είναι η χρήση ενός ή περισσότερων αρχικών κόμβων στη διασύνδεση για την παρακολούθηση των περιεχομένων της κρυφής μνήμης και τη διαχείριση των αιτημάτων πρόσβασης στη μνήμη. Ένας αρχικός κόμβος είναι μια μονάδα διαχείρισης δεδομένων η οποία μπορεί να θεωρείται ότι βρίσκεται εντός της διασύνδεσης ή είναι προσαρτημένη σε αυτή. Κάθε αρχικός κόμβος διαχειρίζεται τα αιτήματα για μια περιοχή της κοινόχρηστης μνήμης (ή των χαρτογραφημένων σε μνήμη διατάξεων εισόδου/εξόδου (I/O)). Μια διάταξη επεξεργασίας αποστέλλει αιτήματα δεδομένων στον κατάλληλο αρχικό κόμβο, ενώ ο αρχικός κόμβος διαχειρίζεται τον τρόπο με τον οποίο επεξεργάζεται το αίτημα. Η διάταξη επεξεργασίας αναφέρεται ως κόμβος αιτήματος. Ο αρχικός κόμβος μπορεί να διατάσσει σειριακά τα αιτήματα από όλους τους κόμβους αιτημάτων και να τα εκτελεί με σειριακή σειρά ώστε να διατηρεί τη συνοχή των δεδομένων. Ο χώρος μνήμης διαιρείται ανάμεσα στους αρχικούς κόμβους.
[26] Όταν ένας κόμβος αιτήματος επιθυμεί την πρόσβαση σε δεδομένα, αποστέλλει ένα αίτημα στον αρχικό κόμβο της διασύνδεσης που σχετίζεται με αυτή τη διεύθυνση. Ο αρχικός κόμβος διατηρεί ένα αρχείο με τη μορφή ενός φίλτρου διερεύνησης, για παράδειγμα, με τους κόμβους οι οποίοι έχουν ένα αντίγραφο της γραμμής κρυφής μνήμης σε μια τοπική κρυφή μνήμης και αποστέλλει ένα μήνυμα, το οποίο ονομάζεται αίτημα διερεύνησης, στον κόμβο ή στους κόμβους που προσδιορίστηκαν (οι κόμβοι-στόχος) αιτούμενος τα δεδομένα. Τα δεδομένα που δεν αποθηκεύονται στην τοπική κρυφή μνήμη μπορούν να ανακτώνται από την κύρια μνήμη μέσω ενός ελεγκτή μνήμης, για παράδειγμα. Ένας αρχικός κόμβος μπορεί ο ίδιος να διαθέτει μια κρυφή μνήμη για τη μείωση του αριθμού προσβάσεων στη μνήμη.
[27] Η διασύνδεση μπορεί να παρέχει παράλληλα κανάλια για δεδομένα, μηνύματα αιτημάτων/αποκρίσεων και μηνύματα διερεύνησης.
[28] Σύμφωνα με υλοποιήσεις της δημοσιοποίησης, μια διάταξη επεξεργασίας δεδομένων η οποία περιλαμβάνει έναν αριθμό κόμβων συνδεδεμένων μέσω μιας διασύνδεσης διαμορφώνεται ώστε να παρέχει αποδοτική μεταφορά δεδομένων μειώνοντας τον αριθμό των μηνυμάτων που απαιτούνται για διατήρηση της συνοχής των δεδομένων.
[29] Το Σχ. 1 είναι ένα διάγραμμα βαθμιδών μιας διάταξης επεξεργασίας δεδομένων 100, σύμφωνα με διάφορες υλοποιήσεις. Τα συστήματα επεξεργασίας δεδομένων, όπως ένα σύστημα σε μικροπλακέτα (System-on-a-Chip ή SoC), μπορεί να περιέχουν πολλαπλές διατάξεις επεξεργασίας και κοινόχρηστους πόρους δεδομένων. Το σύστημα 100 μπορεί να υλοποιείται σε ένα ολοκληρωμένο κύκλωμα συστήματος σε μικροπλακέτα (SoC), για παράδειγμα. Στο απλοποιημένο παράδειγμα που δείχνεται, το σύστημα 100 διατάσσεται ως ένα δίκτυο με έναν αριθμό κόμβων συνδεδεμένων μεταξύ τους μέσω ενός συστήματος διασύνδεσης. Οι κόμβοι είναι λειτουργικές βαθμίδες ή διατάξεις, όπως επεξεργαστές, διατάξεις I/O ή ελεγκτές μνήμης, για παράδειγμα. Όπως δείχνεται, οι διατάξεις περιλαμβάνουν τους κόμβους αιτημάτων 102, 104 και τους αρχικούς κόμβους 106 και 108. Οι διατάξεις διασυνδέονται σε σημεία διασταύρωσης του συστήματος διασύνδεσης 110. Τα σημεία διασταύρωσης περιέχουν προσωρινές μνήμες μηνυμάτων και διακόπτες τα οποία χρησιμοποιούνται για τη δρομολόγηση των μηνυμάτων μεταξύ των διατάξεων. Το σύστημα 100 περιλαμβάνει επίσης διατάξεις εισόδων/εξόδων (I/O) 112 και 114. Τα λοιπά στοιχεία του συστήματος έχουν παραλειφθεί από το Σχ. 1 για λόγους σαφήνειας. Μια διάταξη μπορεί, για παράδειγμα, να είναι ένας πυρήνας επεξεργασίας, μια συστοιχία πυρήνων επεξεργασίας, ένας μετα-επεξεργαστής γραφικών (graphics post processor ή GPP), ένας επεξεργαστής ψηφιακών σημάτων (digital signal processor ή DSP), μια διάταξη πεδιακά προγραμματιζόμενων πυλών (field programmable gate array ή FPGA) ή μια διάταξη ολοκληρωμένου κυκλώματος συγκεκριμένης εφαρμογής (application specific integrated circuit ή ASIC). Στο παράδειγμα που δείχνεται στο Σχ. 1, οι διατάξεις 102 (RN-F) και 104 (RN-I) είναι κόμβοι αιτημάτων όπως επεξεργαστές ή συστοιχίες επεξεργασίας. Η διάταξη 104 (RN-I) παρέχει μια διασύνδεση με τη διάταξη I/O 114. Για παράδειγμα, μια Arm<®>ΑΜΒΑ<®>Advanced extensible Interface (ΑΧΙ) που προδιαγράφεται από την Arm Limited, U.K., μπορεί να παρέχεται για τη ζεύξη με μια διάταξη με δυνατότητα Διασύνδεσης περιφερειακών εξαρτημάτων (Peripheral Component Interconnect ή PCI) express. Οι διατάξεις 106 (ΗΝ-0) και 108 (ΗΝ-1) είναι αρχικοί κόμβοι οι οποίοι εξυπηρετούν ως σημεία συνοχής για καθορισμένες περιοχές διευθύνσεων του συστήματος.
[30] Οι διατάξεις 102 και 104 συνδέονται, μέσω του συστήματος διασύνδεσης 110, με τους αρχικούς κόμβους (home node ή ΗΝ) 106 και 108, μεταξύ τους, και με πόρους δεδομένων όπως έναν ελεγκτή μνήμης 116 για πρόσβαση στην κοινόχρηστη μνήμη 118. Οι διατάξεις 102, 104 έχουν τη δυνατότητα δημιουργίας αιτημάτων πρόσβασης σε δεδομένων και αναφέρονται στο παρόν ως κόμβοι αιτημάτων (request node ή RN). Όταν πολλαπλοί κόμβοι χρησιμοποιούν από κοινού έναν πόρο δεδομένων ή μνήμης, μπορεί να χρησιμοποιείται ένα συνεκτικό πρωτόκολλο και οι διατάξεις μπορεί να αναφέρονται ως πλήρως συνεκτικές (π.χ. RN-F). Άλλες διατάξεις (π.χ. RN-I) μπορεί να παρέχουν συνδέσεις με ένα άλλο ολοκληρωμένο κύκλωμα. Ας σημειωθεί ότι πολλά στοιχεία ενός SoC, όπως ρολόγια, έχουν παραλειφθεί από το Σχ. 1 για λόγους σαφήνειας.
[31] Οι κόμβοι που παράγουν αιτήματα για συναλλαγές δεδομένων, όπως ‘ανάγνωσης’ και ‘εγγραφής’, για παράδειγμα, αναφέρονται ως κόμβοι αιτημάτων και είναι τελικά σημεία για τέτοιες συναλλαγές. Οι κόμβοι που αποκρίνονται στα αιτήματα αναφέρονται ως κόμβοι στόχοι. Για παράδειγμα, στο Σχ. 1, οι διατάξεις 102 και 104 είναι κόμβοι αιτημάτων και οι διατάξεις 106 και 108 είναι κόμβοι στόχοι. Όταν τα δεδομένα που αιτούνται από τους κόμβους αιτημάτων 102 και 104 υπάρχουν στον κόμβο στόχο 106 ή 108, επιστρέφονται στον κόμβο αιτήματος μέσω του συστήματος διασύνδεσης 110. Όταν τα δεδομένα δεν υπάρχουν, ανακτώνται από τον κατάλληλο πόρο. Όταν τα δεδομένα γράφονται από έναν κόμβο αιτήματος, ο αρχικός κόμβος είναι υπεύθυνος να εξασφαλίζει ότι δεν παραμένει κάποιο αντίγραφο των αρχικών δεδομένων σε άλλα σημεία του συστήματος, εφόσον αυτά τα αντίγραφα θα απαρχαιωθούν μόλις εγγραφούν τα νέα δεδομένα.
[32] Σε μια συναλλαγή δεδομένων, ο κόμβος αιτήματος δημιουργεί ένα μήνυμα, το οποίο αποτελείται από ένα ή περισσότερα πακέτα και το εισάγει στη διασύνδεση για μετάδοση στον προορισμό του. Ένα πακέτο μπορεί να περιέχει μια διεύθυνση μνήμης, δεδομένα από τη μνήμη ή και τα δύο, ενώ μπορεί να συγκρατεί και bit ελέγχου ή δρομολόγησης. Ένα πακέτο ελέγχου, όπως ένα αίτημα ανάγνωσης δεδομένων, μπορεί να περιέχει μόνο πληροφορίες διευθύνσεων και bit ελέγχου. Σε ένα δίκτυο σε μικροπλακέτα, ένα ‘πακέτο’ είναι η σημαντική μονάδα του πρωτοκόλλου ανώτερης στρώσης, όπως το πρωτόκολλο συνοχής κρυφής μνήμης. Όταν το μέγεθος ενός πακέτου είναι μεγαλύτερο από το πλάτος καναλιού στη διασύνδεση 110, το πακέτο διασπάται σε πολλαπλά τεμάχια ή τμήματα, καταλήγοντας σε επιπλέον χρόνο για μια συνολική διασταύρωση πακέτου. Για παράδειγμα, εάν ένα πακέτο είναι 256 bit και το κανάλι έχει πλάτος 64 bit ανά κύκλο, η μετατροπή παραλληλίας-σειράς είναι 4 κύκλοι.
[33] Η συνοχή της κρυφής μνήμης είναι ένα ζήτημα σε κάθε σύστημα που περιέχει μια ή περισσότερες κρυφές μνήμες ή άλλον κατανεμημένο χώρο αποθήκευσης και περισσότερες από μια διατάξεις που χρησιμοποιούν από κοινού δεδομένα από ένα μόνο πόρο δεδομένων. Υπάρχουν δύο πιθανά προβλήματα σε ένα σύστημα που περιέχει κρυφές μνήμες. Πρώτα, η μνήμη μπορεί να ενημερώνεται από μια άλλη διάταξη αφού μια διάταξη κρυφής μνήμης λάβει ένα αντίγραφο. Σε αυτό το σημείο, τα δεδομένα εντός της κρυφής μνήμης είναι απαρχαιωμένα ή άκυρα και δεν περιέχουν πια τα πλέον ενημερωμένα δεδομένα. Δεύτερο, τα συστήματα που περιέχουν κρυφές μνήμες ετερόχρονης εγγραφής πρέπει να αντιμετωπίζουν την περίπτωση στην οποία η διάταξη ενημερώνει το τοπικό αντίγραφο κρυφής μνήμης, στο οποίο σημείο η μνήμη δεν περιέχει πια τα πλέον ενημερωμένα δεδομένα. Μια δεύτερη διάταξη που διαβάζει τη μνήμη θα δει απαρχαιωμένα (πεπαλαιωμένα) δεδομένα. Η συνοχή της κρυφής μνήμης μπορεί να διατηρείται μέσω της ανταλλαγής μηνυμάτων ‘διερεύνησης’ μεταξύ των διατάξεων επεξεργασίας, όπως οι κόμβοι 102, 104, για παράδειγμα. Για τη διατήρηση της συνοχής, κάθε διάταξη επεξεργασίας περιλαμβάνει μια μονάδα ελέγχου διερευνήσεων που εκδίδει και λαμβάνει αιτήματα και απαντήσεις συνοχής, μηνύματα διερεύνησης, μέσω του συστήματος διασύνδεσης 110 από άλλες διατάξεις.
[34] Τα αιτήματα και οι απαντήσεις διερεύνησης διαχειρίζονται από τους αρχικούς κόμβους. Οι αρχικοί κόμβοι λαμβάνουν αιτήματα πρόσβασης σε δεδομένα, παράγουν αντίστοιχα μηνύματα διερεύνησης και λαμβάνουν ή μεταφέρουν δεδομένα. Η ανταλλαγή των μηνυμάτων και των δεδομένων για την εξασφάλιση της συνοχής αναφέρεται ως μια ενέργεια συνοχής.
[35] Το Σχ. 2 είναι ένα διάγραμμα ροής ενός παραδείγματος συναλλαγής εγγραφής μεταξύ ενός κόμβου αιτήματος, με χρονοδιάγραμμα 202 και ενός αρχικού κόμβου, με χρονοδιάγραμμα 204, σε ένα σύστημα το οποίο δεν έχει βελτιστοποιηθεί. Η συναλλαγή καταλαμβάνει το χρονικό διάστημα Τ1-Τ2 στον κόμβο αιτήματος και το χρονικό διάστημα Τ3-Τ6 στον αρχικό κόμβο. Ένα μήνυμα αιτήματος εγγραφής 206 (WRITE (REQ)) αποστέλλεται κατά το χρόνο ΤΙ από τον κόμβο αιτήματος στον αρχικό κόμβο μέσω του συστήματος διασύνδεσης. Σε απόκριση της απάντησης, η οποία λαμβάνεται κατά το χρόνο Τ3 ο αρχικός κόμβος επιστρέφει ένα πρώτο μήνυμα απάντησης 208 (DBID (RSP)) στον κόμβο αιτήματος κατά το χρόνο Τ4. Το μήνυμα απάντησης 208 υποδηλώνει ότι είναι διαθέσιμη μια προσωρινή μνήμη δεδομένων στον αρχικό κόμβο για τη λήψη των δεδομένων και ότι η ολοκλήρωση της λειτουργίας εγγραφής δεν εξαρτάται από κάποια πρότερη λειτουργία εγγραφής. Το μήνυμα απάντησης 208 υποδεικνύει επίσης ένα αναγνωριστικό της προσωρινής μνήμης δεδομένων. Κατά την προετοιμασία της λειτουργίας εγγραφής, ο αρχικός κόμβος επικοινωνεί με άλλους κόμβους μέσω μηνυμάτων διερεύνησης για τη διατήρηση της συνοχής εξασφαλίζοντας ότι δε θα αποθηκευτούν απαρχαιωμένα δεδομένα στις τοπικές κρυφές μνήμης. Όταν ολοκληρωθεί αυτή η ενέργεια συνοχής, ο αρχικός κόμβος αποστέλλει ένα δεύτερο μήνυμα απάντησης 210 (COMP (RSP)) κατά το χρόνο Τ5 ως υπόδειξη ότι η ενέργεια συνοχής έχει ολοκληρωθεί. Μόλις ληφθεί η απάντηση DBID 208 από τον κόμβο αιτήματος, ο κόμβος αιτήματος μπορεί να αποστείλει τα δεδομένα στον αρχικό κόμβο όπως υποδηλώνεται από τα τμήματα δεδομένων 212 και 214. Στο παρόν παράδειγμα, τα δεδομένα μεταφέρονται σε δύο τμήματα δεδομένων. Για παράδειγμα, μπορεί να πραγματοποιείται μια μεταφορά 64 byte χρησιμοποιώντας δύο τμήματα δεδομένων σε ένα δίαυλο διασύνδεσης δεδομένων 32 byte. Μόλις αποσταλούν όλα τα δεδομένα, ο κόμβος αιτήματος αποστέλλει το μήνυμα απάντησης COMP ACK 216 προς τον αρχικό κόμβο ως ένδειξη ότι ολοκληρώθηκε η συναλλαγή. Συνεπώς, χρησιμοποιούνται τρία μηνύματα απάντησης (208, 210 και 216) για την πραγματοποίηση κάθε συναλλαγής εγγραφής.
[36] Η προσέγγιση που δείχνεται στο Σχ. 2 μπορεί να χρησιμοποιείται για streaming δεδομένων.
[37] Το Σχ. 3 είναι ένα διάγραμμα ροής ενός παραδείγματος συναλλαγής εγγραφής μεταξύ ενός κόμβου αιτήματος, με χρονοδιάγραμμα 302, και ενός αρχικού κόμβου, με χρονοδιάγραμμα 304, σε ένα σύστημα το οποίο δεν έχει βελτιστοποιηθεί. Στο παρόν παράδειγμα, δεν υπάρχει διαθέσιμη προσωρινή μνήμη δεδομένων στον αρχικό κόμβο με το αίτημα εγγραφής 306 να λαμβάνεται από τον κόμβο αιτήματος. Ο αρχικός κόμβος αποστέλλει το μήνυμα απάντησης 308 (RETRY ACK) στον κόμβο αιτήματος κατά το χρόνο Τ3 ως ένδειξη ότι δεν υπάρχει προσωρινή μνήμη δεδομένων. Κατά το χρόνο Τ4, μια προσωρινή μνήμη δεδομένων γίνεται διαθέσιμη στον αρχικό κόμβο και το μήνυμα απάντησης χορήγησης επαλήθευσης (CRD GNT) 310 αποστέλλεται στον κόμβο αιτήματος και σηματοδοτεί ότι το αίτημα εγγραφής μπορεί να επαναληφθεί. Τα μηνύματα 206, 208, 210, 212, 214 και 216 συνεχίζουν μετά όπως περιγράφεται παραπάνω αναφορικά με το Σχ. 2. Συνεπώς, όταν χρησιμοποιείται η επανάληψη, χρησιμοποιούνται πέντε μηνύματα απάντησης (308, 310, 208, 210 και 216) για την πραγματοποίηση κάθε συναλλαγής εγγραφής, επιπλέον των δύο μηνυμάτων αιτήματος (306, 206) και των δύο μηνυμάτων δεδομένων (212, 214).
[38] Από την παραπάνω περιγραφή, είναι σαφές ότι η ροή των μηνυμάτων απάντησης στο πλέγμα διασύνδεσης ενός συστήματος επεξεργασίας δεδομένων αυξάνει τη συμφόρηση.
Αυτό ισχύει ιδιαίτερα στην περίπτωση των μεταφορών δεδομένων μέσω streaming. Όταν συμβαίνει συμφόρηση, οι συναλλαγές αργούν να ολοκληρωθούν και οι πόροι τόσο του κόμβου αιτήματος όσο και του αρχικού κόμβου απασχολούνται για περισσότερο χρόνο. Ως αποτέλεσμα, ελαττώνεται η απόδοση του συστήματος επεξεργασίας δεδομένων. Επιπλέον, ένας μεγάλος αριθμός μηνυμάτων απάντησης μπορεί να προκαλεί συμφόρηση γεγονός το οποίο ασκεί πίεση και σε άλλες άσχετες συναλλαγές εφόσον το κανάλι απάντησης χρησιμοποιείται από κοινού και από άλλες διατάξεις στο σύστημα. Η συμφόρηση έχει ως αποτέλεσμα μια μείωση του συνολικού εύρους ζώνης όπως διαφαίνεται από όλες τις διατάξεις στο σύστημα.
[39] Το Σχ. 4 είναι ένα διάγραμμα που δείχνει την επικοινωνία μεταξύ ενός κόμβου αιτήματος 102 και ενός αρχικού κόμβου 106 σε ένα σύστημα επεξεργασίας δεδομένων, σύμφωνα με υλοποιήσεις της δημοσιοποίησης. Ο κόμβος αιτήματος 102 περιλαμβάνει έναν ή περισσότερους πυρήνες επεξεργασίας 402 και ένα χώρο αποθήκευσης δεδομένων 404 (όπως μια ή περισσότερες κρυφές μνήμες και προσωρινές μνήμες δεδομένων). Ο χώρος αποθήκευσης δεδομένων 404 μπορεί να επικοινωνεί με μια εξωτερική διάταξη I/O μέσω της ζεύξης 406 για τη λήψη ή τη μετάδοση δεδομένων ενώ επικοινωνεί επίσης με τον πυρήνα 402 και τον ελεγκτή συναλλαγών 408. Ο κόμβος αιτημάτων 102 περιλαμβάνει επίσης έναν ελεγκτή διερευνήσεων 410. Ο ελεγκτής διερευνήσεων 410 ανταλλάσσει μηνύματα διερεύνησης με τον αρχικό κόμβο 106 μέσω της ζεύξης 412. Αυτά τα μηνύματα επικαλούνται τις ενέργειες που είναι απαραίτητες για τη διατήρηση της συνοχής στο σύστημα επεξεργασίας δεδομένων. Ο ελεγκτής συναλλαγών 408 ανταλλάσσει μηνύματα συναλλαγών 414 με τον αρχικό κόμβο 106 μέσω της ζεύξης 414 και επίσης ανταλλάσσει δεδομένα με τον αρχικό κόμβο 106 μέσω της ζεύξης δεδομένων 416. Οι ζεύξεις 412, 414 και 416 παρέχονται από το πλέγμα διασύνδεσης το οποίο συνδέει τις διατάξεις στο δίκτυο επεξεργασίας δεδομένων. Οι ζεύξεις είναι εικονικές ζεύξεις εφόσον ένα συγκεκριμένο μήνυμα μπορεί να λαμβάνει διάφορες διαδρομές διαμέσου της διασύνδεσης.
[40] Ο αρχικός κόμβος 106 εκτελεί ενέργειες συνοχής πριν από μια πρόσβαση δεδομένων αποστέλλοντας και λαμβάνοντας μηνύματα διερεύνησης 418 με άλλες διατάξεις στο δίκτυο επεξεργασίας δεδομένων χρησιμοποιώντας τον ελεγκτή διερεύνησης 420. Ο αρχικός κόμβος 106 περιλαμβάνει και έναν ελεγκτή συναλλαγών 422 για την ανταλλαγή μηνυμάτων με τον κόμβο αιτημάτων. Η λειτουργία του κόμβου αιτημάτων 102 και του αρχικού κόμβου 106 περιγράφεται παρακάτω αναφορικά με μια λειτουργία εγγραφής. Σε μια υλοποίηση, οι λειτουργίες πραγματοποιούνται από το υλικό των ελεγκτών συναλλαγών 408 και 422.
[41] Το Σχ. 5 είναι ένα διάγραμμα ροής ενός παραδείγματος συναλλαγής εγγραφής μεταξύ ενός κόμβου αιτήματος, με χρονοδιάγραμμα 502, και ενός αρχικού κόμβου, με χρονοδιάγραμμα 504, σύμφωνα με υλοποιήσεις της δημοσιοποίησης. Σύμφωνα με μια άποψη της δημοσιοποίησης, ο κόμβος αιτήματος και ο αρχικός κόμβος συνεργάζονται για τη συνένωση των μηνυμάτων και τη μείωση με αυτό τον τρόπο του αριθμού των μηνυμάτων που αποστέλλονται και προς τις δύο κατευθύνσεις. Το καθαρό αποτέλεσμα είναι μια μείωση ίση με δύο στον αριθμό των μηνυμάτων που αποστέλλονται σε μια λειτουργία εγγραφής. Αυτό παρέχει μια μεγάλη αύξηση το εύρος ζώνης για το streaming εγγραφών δεδομένων.
[42] Ο αρχικός κόμβος διαμορφώνεται για την ανίχνευση συμφόρησης στο κανάλι συναλλαγών απάντησης του πλέγματος διασύνδεσης. Αυτό μπορεί να πραγματοποιείται, για παράδειγμα, παρακολουθώντας τη χρήση της προσωρινής μνήμης δεδομένων στα σημεία διασταύρωσης του δικτύου. Όταν ένα σημείο διασταύρωσης έχει όλες τις προσωρινές μνήμες δεδομένων σε χρήση, είναι μια ένδειξη ότι το δίκτυο έχει συμφόρηση, εφόσον οι νέες μεταφορές θα καθυστερούνται μέχρι να είναι διαθέσιμη μια ελεύθερη προσωρινή μνήμη. Και άλλες μέθοδοι ανίχνευσης συμφόρησης της διασύνδεσης μπορούν να χρησιμοποιούνται χωρίς απόκλιση από την παρούσα δημοσιοποίηση. Για παράδειγμα, μπορεί να χρησιμοποιείται μια διπολική διάταξη πρόβλεψης για τη διατήρηση ενός ιστορικού αντίθλιψης του καναλιού απάντησης και των ευρετικών μεθόδων που χρησιμοποιούνται για τον προσδιορισμό του χρόνου συνδυασμού των μηνυμάτων απάντησης. Αναφορικά με το Σχ.
5, λαμβάνεται ένα αίτημα εγγραφής 506 στον αρχικό κόμβο από έναν κόμβο αιτήματος. Κατά το χρόνο Τ3 μια προσωρινή μνήμη δεδομένων είναι διαθέσιμη για τη λήψη των δεδομένων εγγραφής. Ωστόσο, εάν η διασύνδεση έχει συμφόρηση κατά το χρόνο Τ3, το μήνυμα απάντησης DBID 508 δεν αποστέλλεται. Αντίθετα, το μήνυμα καθυστερείται μέχρι, κατά το χρόνο Τ4, να ολοκληρωθεί η ενέργεια συνοχής. Κατά το χρόνο Τ4, το μήνυμα COMP και το μήνυμα DBID συνδυάζονται σε ένα μόνο μήνυμα 510, το οποίοι δηλώνεται ως COMP DBID (RSP). Συνεπώς, ο αριθμός των απαντήσεων από τον αρχικό κόμβο μειώνεται από δύο σε ένα. Όταν ο κόμβος αιτημάτων λαμβάνει ένα μήνυμα 510, συνδυάζει το μήνυμα εγγραφής δεδομένων και το μήνυμα COMP ACK σε ένα μήνυμα στο κανάλι δεδομένων. Τα δεδομένα και η απάντηση, τα οποία δηλώνονται ως WRITE COMP ACK (DAT) αποστέλλονται ως δύο τμήματα (512 και 514) στο κανάλι δεδομένων της διασύνδεσης.
Συνεπώς, δεν απαιτείται η αποστολή ενός ξεχωριστού μηνύματος COMP ACK στο κανάλι απαντήσεων, μειώνοντας με αυτό τον τρόπο την κυκλοφορία στο κανάλι απαντήσεων της διασύνδεσης. Επιπλέον, εφόσον δεν αποστέλλεται ξεχωριστό μήνυμα COMP ACK, η συναλλαγή ολοκληρώνεται νωρίτερα, ελευθερώνοντας τους πόρους του κόμβου αιτήματος.
Συνήθως, ένα τμήμα δεδομένων περιέχει έναν αριθμό bit επιπλέον των ίδιων των δεδομένων. Αυτά τα bit υποδεικνύουν μεταδεδομένα και πληροφορίες δρομολόγησης για παράδειγμα. Σύμφωνα με την παρούσα δημοσιοποίηση, ένα τμήμα περιέχει ένα ή περισσότερα bit τα οποία υποδεικνύουν το μήνυμα COMP ACK.
[43] Το Σχ. 5 απεικονίζει μια υλοποίηση μιας μεθόδου μεταφοράς δεδομένων σε ένα δίκτυο επεξεργασίας δεδομένων το οποίο υλοποιείται όταν ανιχνεύεται συμφόρηση στο πλέγμα διασύνδεσης. Όταν δεν ανιχνεύεται συμφόρηση, μπορεί να χρησιμοποιείται η μέθοδος που δείχνεται στο Σχ. 2 (χωρίς επανάληψη) ή στο Σχ. 3 (με επανάληψη). Όταν λαμβάνεται ένα αίτημα εγγραφής, ο αρχικός κόμβος προσδιορίζει το επίπεδο συμφόρησης στη διασύνδεση και επιλέγει ποιο πρωτόκολλο θα χρησιμοποιηθεί. Όταν ανιχνεύεται συμφόρηση στο πλέγμα διασύνδεσης, όπως δείχνεται στο Σχ. 5, αποστέλλεται μια συνδυασμένη απάντηση (COMP DBID) 510 από τον αρχικό κόμβο προς τον κόμβο αιτημάτων μέσω του πλέγματος διασύνδεσης. Η απάντηση δεν αποστέλλεται μέχρι να γίνει διαθέσιμη μια προσωρινή μνήμη δεδομένων στον αρχικό κόμβο και ο αρχικός κόμβος έχει ολοκληρώσει μια ενέργεια συνοχής. Η συνδυασμένη απάντηση 510 μπορεί να περιλαμβάνει ένα αναγνωριστικό της προσωρινής μνήμης δεδομένων και μια ένδειξη ότι έχει ολοκληρωθεί η ενέργεια συνοχής.
[44] Όταν το πλέγμα διασύνδεσης δεν έχει συμφόρηση, όπως δείχνεται στο Σχ. 2 και Σχ. 3, ο αρχικός κόμβος αποστέλλει μια πρώτη απάντηση (DBID) (208 στο Σχ. 2) στον κόμβο αιτήματος μέσω του πλέγματος διασύνδεσης μόλις γίνει διαθέσιμη η προσωρινή μνήμη δεδομένων στον αρχικό κόμβο. Ο αρχικός κόμβος στη συνέχεια αποστέλλει μια δεύτερη απάντηση (COMP) (210 στο Σχ. 2) στον κόμβο αιτήματος μέσω του πλέγματος διασύνδεσης μόλις ο αρχικός κόμβος ολοκληρώσει την ενέργεια συνοχής ως ένδειξη ότι ολοκληρώθηκε η ενέργεια συνοχής.
[45] Η απάντηση του αρχικού κόμβου λαμβάνεται στον κόμβο αιτήματος. Όταν η απάντηση περιλαμβάνει τη συνδυασμένη απάντηση (COMP DBID) (510 στο Σχ. 5), ο κόμβος αιτήματος συγχωνεύει ένα μήνυμα βεβαίωσης ολοκλήρωσης με ένα ή περισσότερα τμήματα από τα δεδομένα προς εγγραφή στον αρχικό κόμβο για τη δημιουργία ενός ή περισσότερων συγχωνευμένων τμημάτων δεδομένων και αποστέλλει το ένα ή τα περισσότερα συγχωνευμένα τμήματα δεδομένων (512 και 514) από τον κόμβο αιτήματος προς τον αρχικό κόμβο μέσω του πλέγματος διασύνδεσης. Ωστόσο, όταν η απάντηση περιλαμβάνει την πρώτη απάντηση, τα προς εγγραφή δεδομένα αποστέλλονται ως ένα ή περισσότερα τμήματα δεδομένων (WRITE COMP ACK) (212 και 214 στο Σχ. 2) από τον κόμβο αιτήματος στον αρχικό κόμβο μέσω του πλέγματος διασύνδεσης. Στη συνέχεια αποστέλλεται το μήνυμα βεβαίωσης ολοκλήρωσης (216 στο Σχ. 2).
[46] Το Σχ. 6 είναι ένα διάγραμμα ροής μιας μεθόδου 600 λειτουργίας ενός αρχικού κόμβου για συμμετοχή σε μια λειτουργία εγγραφής, σύμφωνα με υλοποιήσεις της δημοσιοποίησης. Μετά τη βαθμίδα έναρξης 602, ένα νέο αίτημα εγγραφής λαμβάνεται στον αρχικό κόμβο στη βαθμίδα 604. Ο αρχικός κόμβος αναμένει στη βαθμίδα απόφασης 606 μέχρι να γίνει διαθέσιμη μια προσωρινή μνήμη δεδομένων στον αρχικό κόμβο για τη λήψη δεδομένων από τον κόμβο αιτήματος. Όταν γίνει διαθέσιμη μια προσωρινή μνήμη δεδομένων, όπως απεικονίζεται από το θετικό κλάδο από τη βαθμίδα απόφασης 606, η διαθεσιμότητα της επαλήθευσης ζεύξης ελέγχεται στη βαθμίδα απόφασης 608. Η διαθεσιμότητα της επαλήθευσης ζεύξης είναι μια ένδειξη του επιπέδου συμφόρησης στο πλέγμα διασύνδεσης. Εάν είναι διαθέσιμη η επαλήθευση ζεύξης, όπως απεικονίζεται από το θετικό κλάδο από τη βαθμίδα απόφασης 608, ένα μήνυμα απάντησης DBID αποστέλλεται στον κόμβο αιτήματος στη βαθμίδα 610. Το μήνυμα DBID προσδιορίζει την προσωρινή μνήμη δεδομένων η οποία είναι διαθέσιμη για τη λήψη των δεδομένων από τον κόμβο αιτήματος. Ο αρχικός κόμβος λαμβάνει στη συνέχεια τα δεδομένα εγγραφής στη βαθμίδα 612 και η μέθοδος τελειώνει στη βαθμίδα 614. Εάν δεν υπάρχει διαθέσιμη επαλήθευση ζεύξης, όπως απεικονίζεται από τον αρνητικό κλάδο από τη βαθμίδα απόφασης 608, ένας ιχνηλάτης αποθηκεύεται για το αναγνωριστικό της προσωρινής μνήμης δεδομένων (DBID) στη βαθμίδα 616. Στη βαθμίδα 618, ο αρχικός κόμβος αναμένει μέχρι να ολοκληρωθεί η ενέργεια συνοχής που σχετίζεται με το αίτημα εγγραφής (και είναι διαθέσιμη η επαλήθευση ζεύξης). Όταν ολοκληρωθεί η ενέργεια συνοχής, όπως απεικονίζεται από το θετικό κλάδο από τη βαθμίδα απόφασης 618, η απάντηση DBID και η απάντηση COMP συνδυάζονται σε ένα μόνο μήνυμα στη βαθμίδα 620 και αποστέλλεται στον κόμβο αιτήματος στη βαθμίδα 622. Ο αρχικός κόμβος στη συνέχεια λαμβάνει τα δεδομένα εγγραφής στη βαθμίδα 612 και η μέθοδος τελειώνει στη βαθμίδα 614.
[47] Στην υλοποίηση που δείχνεται στο Σχ. 6, ο αρχικός κόμβος λαμβάνει μια απόφαση κατά πόσο να καθυστερήσει την απάντηση DBID και να τη συνδυάσει με την απάντηση COMP με βάση τη διαθεσιμότητα της επαλήθευσης ζεύξης. Προαιρετικά, τα μηνύματα μπορούν πάντα να συνδυάζονται. Ωστόσο, όταν συνδυάζονται τα μηνύματα, η ενέργεια συγχώνευσης και η ενέργεια εγγραφής των δεδομένων στην προσωρινή μνήμη δεδομένων στον αρχικό κόμβο πραγματοποιούνται σε σειρά. Όταν αποστέλλονται ξεχωριστά μηνύματα DBID και COMP, αυτές οι δύο ενέργειες μπορούν να πραγματοποιούνται παράλληλα. Συνεπώς, στην υλοποίηση που δείχνεται στο Σχ. 6, ο συνδυασμός των μηνυμάτων χρησιμοποιείται μόνο όταν τα πλεονεκτήματα αυτής της πράξης (π.χ. μείωση της συμφόρησης της διασύνδεσης) υπερτερούν των μειονεκτημάτων (καθυστερημένη εγγραφή στον αρχικό κόμβο).
[48] Το Σχ.7 είναι ένα διάγραμμα ροής μιας μεθόδου 700 λειτουργίας ενός κόμβου αιτήματος για συμμετοχή σε μια λειτουργία εγγραφής, σύμφωνα με υλοποιήσεις της δημοσιοποίησης. Μετά τη βαθμίδα έναρξης 702, ο κόμβος αιτήματος λαμβάνει μια απάντηση σε ένα αίτημα εγγραφής στη βαθμίδα 704. Το μήνυμα αποκωδικοποιείται στη βαθμίδα απόφασης 706. Εάν το μήνυμα είναι ένα μήνυμα COMP, όπως απεικονίζεται από το δεξιό κλάδο από τη βαθμίδα απόφασης 706, υποδηλώνοντας ότι η ενέργεια συνοχής έχει ολοκληρωθεί από τον αρχικό κόμβο, η ροή επιστρέφει στη βαθμίδα 704. Εάν η απάντηση είναι η συνδυασμένη απάντηση COMP DBID, όπως εικονίζεται από τον αριστερό κλάδο από τη βαθμίδα απόφασης 706, τα δεδομένα προς εγγραφή και η απάντηση COMP ACK συνδυάζονται στη βαθμίδα 708. Το συνδυασμένο μήνυμα WRITE COMP ACK αποστέλλεται στη βαθμίδα 710. Το συνδυασμένο μήνυμα μπορεί να αποστέλλεται μέσω ενός καναλιού δεδομένων της διασύνδεσης, μειώνοντας με αυτό τον τρόπο την κυκλοφορία στο κανάλι απάντησης της διασύνδεσης. Η μέθοδος τελειώνει στη βαθμίδα 712. Εάν η απάντηση είναι COMP DBID, όπως απεικονίζεται από τον κατώτερο κλάδο από τη βαθμίδα απόφασης 706, η ροή συνεχίζει στη βαθμίδα απόφασης 714. Εάν το μήνυμα COMP έχει ληφθεί από τον κόμβο αιτήματος, όπως απεικονίζεται από το θετικό κλάδο από τη βαθμίδα απόφασης 714, η ροή συνεχίζει στη βαθμίδα 708 όπου συνδυάζονται τα δεδομένα και το μήνυμα
COMP ACK. Εάν το μήνυμα COMP δεν έχει ακόμη ληφθεί, όπως απεικονίζεται από τον αρνητικό κλάδο από τη βαθμίδα απόφασης 714, τα δεδομένα αποστέλλονται από τον κόμβο αιτήματος στον αρχικό κόμβο στη βαθμίδα 716. Στη βαθμίδα 718, ένα COMP ACK αποστέλλεται στον αρχικό κόμβο μόλις το μήνυμα COMP ληφθεί στον κόμβο αιτήματος. Η μέθοδος τελειώνει στη βαθμίδα 712. Σημειώνεται ότι τα μηνύματα COMP και DBID μπορούν να φτάνουν εκτός σειράς, εφόσον μπορούν να λαμβάνουν διαφορετικές δρομολογήσεις μέσω της διασύνδεσης.
[49] Σε συνδυασμό, οι ενέργειες του αρχικού κόμβου, όπως δείχνεται στο Σχ. 6, και του κόμβου αιτήματος, όπως δείχνεται στο Σχ. 7, παρέχουν μια υλοποίηση ενός πρωτοκόλλου για την αποδοτική εκτέλεση μιας λειτουργίας εγγραφής σε ένα σύστημα επεξεργασίας δεδομένων. Το πρωτόκολλο πραγματοποιείται από εξειδικευμένο υλικό στον αρχικό κόμβο και τον κόμβο αιτήματος.
[50] Η μείωση των μηνυμάτων απάντησης συνοψίζεται στον Πίνακα 1 παρακάτω.
Πίνακας 1.
[51] Άλλα πλεονεκτήματα της δημοσιοποιημένης προσέγγισης είναι τα εξής:
• Η διάρκεια ζωής του ιχνηλάτη (ο χρόνος που απαιτείται για ολόκληρη τη συναλλαγή) στον αρχικό κόμβο μειώνεται εφόσον το μήνυμα COMP ACK δεν αποστέλλεται ως ξεχωριστό μήνυμα.
• Υπό συνθήκες συμφόρησης, η διάρκεια ζωής του ιχνηλάτη στον κόμβο αιτήματος μειώνεται εφόσον το μήνυμα COMP ACK δεν αποστέλλεται ως ξεχωριστό μήνυμα.
• Υπό συνθήκες συμφόρησης, η κυκλοφορία στο κανάλι απάντησης της διασύνδεσης μειώνεται κι επομένως είναι διαθέσιμο για άλλες συναλλαγές.
• Υπό συνθήκες συμφόρησης, η αποδοτική χρήση του καναλιού απάντησης έχει ως αποτέλεσμα βελτιωμένο εύρος ζώνης συστήματος.
• Η μείωση των μηνυμάτων απάντησης στη διασύνδεση έχει ως αποτέλεσμα χαμηλότερη κατανάλωση ενέργειας.
[52] Τα έμπειρα στην τέχνη άτομα θα αναγνωρίσουν ότι η παρούσα εφεύρεση μπορεί να υλοποιείται χρησιμοποιώντας εξειδικευμένα εξαρτήματα υλικού. Επιπλέον, η παρούσα εφεύρεση μπορεί να υλοποιείται χρησιμοποιώντας έναν προγραμματισμένο επεξεργαστή, εξαρτήματα υλικού με δυνατότητα επαναδιαμόρφωσης, εξειδικευμένα εξαρτήματα υλικού ή συνδυασμούς αυτών.
[53] Τα εξειδικευμένα εξαρτήματα υλικού ή αυτά με δυνατότητα επαναδιαμόρφωσης μπορούν να περιγράφονται από εντολές μιας Γλώσσας Περιγραφής Υλικού (Hardware Description Language) ή από μια λίστα δικτύου εξαρτημάτων και συνδεσιμότητας. Οι εντολές ή η λίστα δικτύου μπορεί να αποθηκεύεται σε μη προσωρινά μέσα με δυνατότητα ανάγνωσης από υπολογιστή όπως η Ηλεκτρικά απαλειφόμενη προγραμματιζόμενη μνήμη μόνο ανάγνωσης (Electrically Erasable Programmable Read Only Memory ή EEPROM), η μη πτητική μνήμη (non-volatile memory ή NVM), ο χώρος μαζικής αποθήκευσης όπως μια μονάδα σκληρού δίσκου, μια μονάδα εύκαμπτου δίσκου, μια μονάδα οπτικού δίσκου, τα στοιχεία οπτικής αποθήκευσης, τα στοιχεία μαγνητικής αποθήκευσης, τα στοιχεία μαγνητοοπτικής αποθήκευσης, η μνήμη flash, η κύρια μνήμη και/ή άλλες ισοδύναμες τεχνολογίες αποθήκευσης χωρίς απόκλιση από την παρούσα εφεύρεση. Τέτοιες εναλλακτικές διατάξεις αποθήκευσης θα πρέπει να θεωρούνται ισοδύναμες.
[54] Οι διάφορες αντιπροσωπευτικές υλοποιήσεις, οι οποίες έχουν περιγράφει λεπτομερώς στο παρόν, έχουν παρουσιαστεί μέσω παραδειγμάτων και όχι μέσω περιορισμών. Θα γίνει κατανοητό από τα έμπειρα στην τέχνη άτομα ότι είναι δυνατές διάφορες αλλαγές με τη μορφή και τα στοιχεία των υλοποιήσεων που περιγράφονται με αποτέλεσμα ισοδύναμες υλοποιήσεις που παραμένουν στα πλαίσια των συνημμένων αξιώσεων.

Claims (19)

ΑΞΙΩΣΕΙΣ
1. Μια μέθοδος μεταφοράς δεδομένων σε ένα δίκτυο επεξεργασίας δεδομένων το οποίο περιλαμβάνει έναν αρχικό κόμβο και έναν κόμβο αιτήματος συνδεδεμένους μέσω ενός πλέγματος διασύνδεσης, με τη μέθοδο να περιλαμβάνει:
τη λήψη, από τον αρχικό κόμβο, ενός αιτήματος εγγραφής από τον κόμβο αιτήματος,
τον προσδιορισμό κατά πόσο υπάρχει συμφόρηση στο πλέγμα διασύνδεσης, και
όταν προσδιορίζεται συμφόρηση στο πλέγμα διασύνδεσης:
την αποστολή μιας συνδυασμένης απάντησης από τον αρχικό κόμβο στον κόμβο αιτήματος μέσω του πλέγματος διασύνδεσης όταν μια προσωρινή μνήμη δεδομένων είναι διαθέσιμη στον αρχικό κόμβο και ο αρχικός κόμβος έχει ολοκληρώσει μια ενέργεια συνοχής, όπου η συνδυασμένη απάντηση περιλαμβάνει ένα αναγνωριστικό της προσωρινής μνήμης δεδομένων και μια ένδειξη ότι η ενέργεια συνοχής έχει ολοκληρωθεί.
2. Η μέθοδος της αξίωσης 1, η οποία περαιτέρω περιλαμβάνει:
τη λήψη, από τον κόμβο αιτήματος, μιας απάντησης στο αίτημα εγγραφής, με την απάντηση να αποστέλλεται από τον αρχικό κόμβο μέσω του πλέγματος διασύνδεσης, και
όταν η απάντηση περιλαμβάνει τη συνδυασμένη απάντηση:
τη συγχώνευση, από τον κόμβο αιτήματος, ενός μηνύματος βεβαίωσης ολοκλήρωσης με ένα ή περισσότερα τμήματα των δεδομένων προς εγγραφή στον αρχικό κόμβο για τη δημιουργία ενός ή περισσότερων συγχωνευμένων τμημάτων δεδομένων, και
την αποστολή του ενός ή των περισσότερων συγχωνευμένων τμημάτων δεδομένων από τον κόμβο αιτήματος στον αρχικό κόμβο μέσω του πλέγματος διασύνδεσης.
3. Η μέθοδος της αξίωσης 2, η οποία περιλαμβάνει περαιτέρω:
όταν δεν ανιχνεύεται συμφόρηση στο πλέγμα διασύνδεσης:
την αποστολή μιας πρώτης απάντησης από τον αρχικό κόμβο στον κόμβο αιτήματος μέσω του πλέγματος διασύνδεσης όταν γίνει διαθέσιμη η
προσωρινή μνήμη δεδομένων στον αρχικό κόμβο, όπου η πρώτη απάντηση περιλαμβάνει ένα αναγνωριστικό της προσωρινής μνήμης δεδομένων, και
την αποστολή μιας δεύτερης απάντησης στον κόμβο αιτήματος μέσω του πλέγματος διασύνδεσης όταν ο αρχικός κόμβος έχει ολοκληρώσει την ενέργεια συνοχής, όπου η δεύτερη απάντηση περιλαμβάνει μια ένδειξη ότι έχει ολοκληρωθεί η ενέργεια συνοχής.
4. Η μέθοδος της αξίωσης 3, η οποία περιλαμβάνει περαιτέρω:
όταν η απάντηση περιλαμβάνει την πρώτη απάντηση:
την αποστολή των δεδομένων προς εγγραφή ως ένα ή περισσότερα τμήματα δεδομένων από τον κόμβο αιτήματος στον αρχικό κόμβο μέσω του πλέγματος διασύνδεσης, και
την αποστολή του μηνύματος βεβαίωσης ολοκλήρωσης από τον κόμβο αιτήματος στον αρχικό κόμβο μέσω του πλέγματος διασύνδεσης.
5. Η μέθοδος της αξίωσης 1, η οποία περιλαμβάνει περαιτέρω:
σε απόκριση του αιτήματος εγγραφής από τον κόμβο αιτήματος, την πραγματοποίηση από τον αρχικό κόμβο της ενέργειας συνοχής η οποία περιλαμβάνει την ανταλλαγή, μέσω του πλέγματος διασύνδεσης, ενός ή περισσότερων μηνυμάτων διερεύνησης με άλλους κόμβους του δικτύου επεξεργασίας δεδομένων.
6. Η μέθοδος της αξίωσης 1, όπου το αίτημα εγγραφής είναι ένα αίτημα από ένα πλήθος αιτημάτων μιας συναλλαγής δεδομένων μέσω streaming.
7. Η μέθοδος της αξίωσης 1, όπου ο προσδιορισμός της συμφόρησης στο πλέγμα διασύνδεσης περιλαμβάνει την ανίχνευση μιας διαθεσιμότητας επαλήθευσης ζεύξης στο πλέγμα διασύνδεσης.
8. Η μέθοδος της αξίωσης 1, όπου ο προσδιορισμός της συμφόρησης στο πλέγμα διασύνδεσης περιλαμβάνει την ανίχνευση μιας διαθεσιμότητας των προσωρινών μνημών δεδομένων σε ένα σημείο διασταύρωσης του πλέγματος διασύνδεσης.
9. Η μέθοδος της αξίωσης 1, όπου ο προσδιορισμός της συμφόρησης στο πλέγμα διασύνδεσης εξαρτάται από ένα ιστορικό αντίθλιψης σε ένα κανάλι απάντησης του πλέγματος διασύνδεσης.
10. Ένα δίκτυο επεξεργασίας δεδομένων το οποίο περιλαμβάνει:
έναν αρχικό κόμβο ο οποίος παρέχει ένα σημείο συνοχής για ένα εύρος περιοχών μνήμης, με τον αρχικό κόμβο να περιλαμβάνει έναν πρώτο ελεγκτή συναλλαγών,
έναν κόμβο αιτημάτων ο οποίος περιλαμβάνει ένα δεύτερο ελεγκτή συναλλαγών, και
ένα πλέγμα διασύνδεσης το οποίο συνδέει τον κόμβο αιτημάτων με τον αρχικό κόμβο, με το πλέγμα διασύνδεσης να παρέχει ένα κανάλι δεδομένων και ένα κανάλι απάντησης μεταξύ του πρώτου ελεγκτή συναλλαγών και του δεύτερου ελεγκτή συναλλαγών,
όπου ο κόμβος αιτημάτων διαμορφώνεται ώστε να αποστέλλει ένα αίτημα εγγραφής στον αρχικό κόμβο, και
όπου ο αρχικός κόμβος διαμορφώνεται για:
τον προσδιορισμό μιας προσωρινής μνήμης δεδομένων του αρχικού κόμβου για τη λήψη των δεδομένων που σχετίζονται με το αίτημα εγγραφής,
την ανίχνευση συμφόρησης στο κανάλι απάντησης του πλέγματος διασύνδεσης,
όταν ανιχνεύεται συμφόρηση στο κανάλι απάντησης του πλέγματος διασύνδεσης:
την πραγματοποίηση μιας ενέργειας συνοχής που σχετίζεται με το αίτημα εγγραφής, και
την αποστολή ενός συνδυασμένου μηνύματος στον κόμβο αιτήματος, με το συνδυασμένο μήνυμα να περιλαμβάνει ένα αναγνωριστικό της προσωρινής μνήμης δεδομένων που προσδιορίστηκε όταν ολοκληρώνεται η ενέργεια συνοχής που σχετίζεται με το αίτημα εγγραφής.
11. Το δίκτυο επεξεργασίας δεδομένων της αξίωσης 10, όπου ο κόμβος αιτήματος διαμορφώνεται περαιτέρω για:
τη λήψη μιας απάντησης για το αίτημα εγγραφής, με την απάντηση να αποστέλλεται από τον αρχικό κόμβο μέσω του πλέγματος διασύνδεσης, και
όταν η απάντηση περιλαμβάνει το συνδυασμένο μήνυμα:
τη συγχώνευση, από τον κόμβο αιτήματος, ενός μηνύματος βεβαίωσης ολοκλήρωσης με ένα ή περισσότερα τμήματα δεδομένων προς εγγραφή στον αρχικό κόμβο για τη δημιουργία ενός ή περισσότερων συγχωνευμένων τμημάτων δεδομένων, και
την αποστολή του ενός ή των περισσότερων συγχωνευμένων τμημάτων δεδομένων από τον κόμβο αιτήματος στον αρχικό κόμβο μέσω του πλέγματος διασύνδεσης.
12. Το δίκτυο επεξεργασίας δεδομένων της αξίωσης 10, όπου ο αρχικός κόμβος διαμορφώνεται περαιτέρω για:
όταν δεν ανιχνεύεται συμφόρηση στο κανάλι απάντησης του πλέγματος διασύνδεσης,
την αποστολή ενός μηνύματος αναγνωριστικού προσωρινής μνήμης δεδομένων (data buffer identifier ή DBID) στον κόμβο αιτήματος,
την πραγματοποίηση μιας ενέργειας συνοχής που σχετίζεται με το αίτημα εγγραφής, και
την αποστολή ενός μηνύματος ολοκλήρωσης της ενέργειας συνοχής (COMP) στον κόμβο αιτήματος όταν ολοκληρωθεί η ενέργεια συνοχής που σχετίζεται με το αίτημα εγγραφής.
13. Το δίκτυο επεξεργασίας δεδομένων της αξίωσης 12, όπου ο κόμβος αιτήματος διαμορφώνεται περαιτέρω για:
όταν η απάντηση περιλαμβάνει το μήνυμα DBID:
την αποστολή των δεδομένων προς εγγραφή ως ένα ή περισσότερα τμήματα δεδομένων από τον κόμβο αιτήματος στον αρχικό κόμβο μέσω του πλέγματος διασύνδεσης, και
την αποστολή του μηνύματος βεβαίωσης ολοκλήρωσης από τον κόμβο αιτήματος στον αρχικό κόμβο μέσω του πλέγματος διασύνδεσης επακόλουθα της αποστολής των προς εγγραφή δεδομένων.
14. Το δίκτυο επεξεργασίας δεδομένων της αξίωσης 10, όπου ο αρχικός κόμβος περαιτέρω περιλαμβάνει έναν ελεγκτή διερεύνησης και όπου η πραγματοποίηση της ενέργειας συνοχής από τον αρχικό κόμβο περιλαμβάνει την ανταλλαγή, μέσω του πλέγματος διασύνδεσης, ενός ή περισσότερων μηνυμάτων διερεύνησης με άλλους κόμβους του δικτύου επεξεργασίας δεδομένων.
15. Το δίκτυο επεξεργασίας δεδομένων της αξίωσης 10, όπου το αίτημα εγγραφής από τον κόμβο αιτήματος είναι ένα αίτημα από ένα πλήθος αιτημάτων εγγραφής μιας συναλλαγής streaming δεδομένων.
16. Το δίκτυο επεξεργασίας δεδομένων της αξίωσης 15, όπου ο κόμβος αιτήματος περιλαμβάνει περαιτέρω μια διασύνδεση για τη λήψη δεδομένων streaming από μια εξωτερική διάταξη εισόδου.
17. Το δίκτυο επεξεργασίας δεδομένων της αξίωσης 10, όπου το πλέγμα διασύνδεσης περιλαμβάνει ένα δίκτυο πλέγματος.
18. Ένα μη προσωρινό μέσο με δυνατότητα ανάγνωσης από υπολογιστή το οποίο αποθηκεύει εντολές μιας γλώσσας περιγραφής υλικού που περιγράφουν το δίκτυο επεξεργασίας δεδομένων της αξίωσης 10.
19. Ένα μη προσωρινό μέσο με δυνατότητα ανάγνωσης από υπολογιστή το οποίο αποθηκεύει μια περιγραφή λίστας δικτύου του δικτύου επεξεργασίας δεδομένων της αξίωσης 10.
GR20180100189A 2018-05-03 2018-05-03 Δικτυο επεξεργασιας δεδομενων με συμπυκνωση ροης για μεταφορα δεδομενων μεσω streaming GR20180100189A (el)

Priority Applications (6)

Application Number Priority Date Filing Date Title
GR20180100189A GR20180100189A (el) 2018-05-03 2018-05-03 Δικτυο επεξεργασιας δεδομενων με συμπυκνωση ροης για μεταφορα δεδομενων μεσω streaming
EP19721686.4A EP3788493B1 (en) 2018-05-03 2019-05-02 Data processing network with flow compaction for streaming data transfer
CN201980030104.8A CN112074822B (zh) 2018-05-03 2019-05-02 具有针对流式数据传输的流压缩的数据处理装置
US17/051,028 US11483260B2 (en) 2018-05-03 2019-05-02 Data processing network with flow compaction for streaming data transfer
PCT/GB2019/051217 WO2019211611A1 (en) 2018-05-03 2019-05-02 Data processing network with flow compaction for streaming data transfer
JP2020561628A JP7419261B2 (ja) 2018-05-03 2019-05-02 ストリーミングデータ転送のためのフロー圧縮を用いたデータ処理ネットワーク

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GR20180100189A GR20180100189A (el) 2018-05-03 2018-05-03 Δικτυο επεξεργασιας δεδομενων με συμπυκνωση ροης για μεταφορα δεδομενων μεσω streaming

Publications (1)

Publication Number Publication Date
GR20180100189A true GR20180100189A (el) 2020-01-22

Family

ID=64901600

Family Applications (1)

Application Number Title Priority Date Filing Date
GR20180100189A GR20180100189A (el) 2018-05-03 2018-05-03 Δικτυο επεξεργασιας δεδομενων με συμπυκνωση ροης για μεταφορα δεδομενων μεσω streaming

Country Status (6)

Country Link
US (1) US11483260B2 (el)
EP (1) EP3788493B1 (el)
JP (1) JP7419261B2 (el)
CN (1) CN112074822B (el)
GR (1) GR20180100189A (el)
WO (1) WO2019211611A1 (el)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021097802A1 (zh) 2019-11-22 2021-05-27 华为技术有限公司 处理非缓存写数据请求的方法、缓存器和节点
US20210011864A1 (en) * 2020-09-25 2021-01-14 Francesc Guim Bernat System, apparatus and methods for dynamically providing coherent memory domains
US11768630B1 (en) * 2021-10-27 2023-09-26 Amazon Technologies, Inc. Credit based memory scheduler

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129211A1 (en) * 2000-12-30 2002-09-12 Arimilli Ravi Kumar Data processing system and method for resolving a conflict between requests to modify a shared cache line
US20130042038A1 (en) * 2011-08-08 2013-02-14 Lsi Corporation Non-blocking processor bus bridge for network processors or the like
US20150178209A1 (en) * 2013-12-20 2015-06-25 International Business Machines Corporation Frequency determination across an interface of a data processing system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864671A (en) 1996-07-01 1999-01-26 Sun Microsystems, Inc. Hybrid memory access protocol for servicing memory access request by ascertaining whether the memory block is currently cached in determining which protocols to be used
US6338122B1 (en) * 1998-12-15 2002-01-08 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that speculatively forwards a read request to a remote processing node
GB0227871D0 (en) * 2002-11-29 2003-01-08 Ibm DATA processing systems
US7779210B2 (en) 2007-10-31 2010-08-17 Intel Corporation Avoiding snoop response dependency
US8250311B2 (en) 2008-07-07 2012-08-21 Intel Corporation Satisfying memory ordering requirements between partial reads and non-snoop accesses
US8799586B2 (en) 2009-09-30 2014-08-05 Intel Corporation Memory mirroring and migration at home agent
GB2484088B (en) 2010-09-28 2019-08-07 Advanced Risc Mach Ltd Coherency control with writeback ordering
US8949547B2 (en) 2011-08-08 2015-02-03 Arm Limited Coherency controller and method for data hazard handling for copending data access requests
US8775904B2 (en) 2011-12-07 2014-07-08 International Business Machines Corporation Efficient storage of meta-bits within a system memory
US9106229B1 (en) * 2013-03-14 2015-08-11 Altera Corporation Programmable interposer circuitry
US20150261677A1 (en) 2014-03-12 2015-09-17 Silicon Graphics International Corp. Apparatus and Method of Resolving Protocol Conflicts in an Unordered Network
US20160179161A1 (en) * 2014-12-22 2016-06-23 Robert P. Adler Decode information library
US11082347B2 (en) * 2018-03-26 2021-08-03 Nvidia Corporation Techniques for reducing congestion in a computer network
US10917198B2 (en) 2018-05-03 2021-02-09 Arm Limited Transfer protocol in a data processing network
US10452593B1 (en) 2018-05-03 2019-10-22 Arm Limited High-performance streaming of ordered write stashes to enable optimized data sharing between I/O masters and CPUs
US10613996B2 (en) 2018-05-03 2020-04-07 Arm Limited Separating completion and data responses for higher read throughput and lower link utilization in a data processing network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129211A1 (en) * 2000-12-30 2002-09-12 Arimilli Ravi Kumar Data processing system and method for resolving a conflict between requests to modify a shared cache line
US20130042038A1 (en) * 2011-08-08 2013-02-14 Lsi Corporation Non-blocking processor bus bridge for network processors or the like
US20150178209A1 (en) * 2013-12-20 2015-06-25 International Business Machines Corporation Frequency determination across an interface of a data processing system

Also Published As

Publication number Publication date
JP2021522608A (ja) 2021-08-30
CN112074822B (zh) 2024-06-11
US11483260B2 (en) 2022-10-25
JP7419261B2 (ja) 2024-01-22
WO2019211611A1 (en) 2019-11-07
EP3788493A1 (en) 2021-03-10
US20210126877A1 (en) 2021-04-29
EP3788493B1 (en) 2023-02-22
CN112074822A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
TWI516933B (zh) 用於在本地代理者之記憶體鏡像及遷移之裝置及方法以及電腦可讀取媒體
US7409481B2 (en) Data processing system, method and interconnect fabric supporting destination data tagging
US9235529B2 (en) Using broadcast-based TLB sharing to reduce address-translation latency in a shared-memory system with optical interconnect
KR100324975B1 (ko) 잠재적인 제3 노드 트랜잭션을 버퍼에 기록하여 통신 대기시간을 감소시키는 비균일 메모리 액세스(numa) 데이터 프로세싱 시스템
US7380102B2 (en) Communication link control among inter-coupled multiple processing units in a node to respective units in another node for request broadcasting and combined response
US9009446B2 (en) Using broadcast-based TLB sharing to reduce address-translation latency in a shared-memory system with electrical interconnect
TW201539196A (zh) 用於處理多個交易之資料處理系統及方法
JP2008525904A (ja) 異なるキャッシュロケーション長を有するキャッシュにおいてキャッシュコヒーレンシを保持するためのシステム及び方法
US7474658B2 (en) Data processing system, method and interconnect fabric supporting concurrent operations of varying broadcast scope
US20060179253A1 (en) Data processing system, method and interconnect fabric that protect ownership transfer with a protection window extension
GR20180100189A (el) Δικτυο επεξεργασιας δεδομενων με συμπυκνωση ροης για μεταφορα δεδομενων μεσω streaming
US10437725B2 (en) Master requesting missing segments of a cache line for which the master has coherence ownership
KR20210076103A (ko) 기록 동작들의 개선된 핸들링을 갖는 데이터 프로세싱 네트워크용 i/o 코히런트 요청 노드
US20060179197A1 (en) Data processing system, method and interconnect fabric having a partial response rebroadcast
US7451231B2 (en) Data processing system, method and interconnect fabric for synchronized communication in a data processing system
US7483422B2 (en) Data processing system, method and interconnect fabric for selective link information allocation in a data processing system
US11449489B2 (en) Split transaction coherency protocol in a data processing system
WO2016049807A1 (zh) 多核处理器系统的缓存目录处理方法和目录控制器
US7809004B2 (en) Data processing system and processing unit having an address-based launch governor
US7944932B2 (en) Interconnect fabric for a data processing system
CN105718349B (zh) 跨管芯接口监听或全局观察消息排序
US20060187958A1 (en) Data processing system, method and interconnect fabric having a flow governor
US10394636B2 (en) Techniques for managing a hang condition in a data processing system with shared memory
KR20210005194A (ko) 데이터 처리 네트워크에서의 전송 프로토콜
US10042766B1 (en) Data processing apparatus with snoop request address alignment and snoop response time alignment