Hardware Transactional Memories

Author(s):  
Arsalan Shahid ◽  
Maryam Murad ◽  
Muhammad Yasir Qadri ◽  
Nadia N. Qadri ◽  
Jameel Ahmed

The initiation to have a concept of shared memory in processors has built an opportunity for thread level parallelism. In various applications, synchronization or ordering tools are utilized to have an access to shared data. Traditionally, multithreaded programming models usually suggest a set of low-level primitives, such as locks, to guarantee mutual exclusion. Possession of one or more locks protects access to shared data. But, due to some flaws they become a suboptimal solution. The idea of transactional memory is in research presently as an alternative to locks. Among which, one way is hardware transactional memory. Atomicity is well supported by using transactions in hardware. In this chapter, we have focused on hardware transactional memories and the work done on them so far.

2000 ◽  
Vol 10 (01) ◽  
pp. 247-253 ◽  
Author(s):  
MIKHAIL DOROJEVETS

A COOL-1 multiprocessor shared memory system based on superconductor Rapid Single-Flux Quantum (RSFQ) technology is being developed at SUNY (Stony Brook, USA) within the framework of the Hybrid Technology Multithreaded architecture (HTMT) petaflops project led by JPL. This paper describes a multithreading approach proposed in the COOL-I architecture and mechanisms to exploit the thread level parallelism in RSFQ processors called SPELL-1. Up to 128 fine-grain threads called (instruction) streams arranged in 16 groups of 8 streams each can run in parallel within a SPELL-1 processor. All eight streams comprising each COOL stream cluster can communicate and synchronize directly via shared registers. Fast creation and termination of streams including speculative stream execution are also supported.


2010 ◽  
Author(s):  
Νικόλαος Αναστόπουλος

Οι πολυπύρηνες και πολυνηματικές αρχιτεκτονικές κερδίζουν συνεχώς έδαφος τα τελευταία χρόνια αποτελώντας πλέον τον κανόνα στη σχεδίαση των επεξεργαστών σε ένα ευρύ φάσμα εφαρμογών. Για να μπορούν να αξιοποιήσουν τα προγράμματα του χρήστη τις δυνατότητές τους, είναι απαραίτητη μια γενικότερη στροφή προς την εκμετάλλευση του παραλληλισμού επιπέδου νημάτων (thread-level parallelism - TLP) που μπορεί να εξαχθεί από αυτά. Σε αυτό το νέο περιβάλλον τίθενται επομένως μια σειρά από σημαντικές προκλήσεις στον προγραμματιστή, όπως ο εντοπισμός, η έκφραση και η απεικόνιση του παραλληλισμού, ο συγχρονισμός μεταξύ των νημάτων και η αποδοτική διαχείριση των πόρων της υποκείμενης αρχιτεκτονικής. Συμβατικές τεχνικές παραλληλοποίησης και συγχρονισμού που έχουν προταθεί στη βιβλιογραφία είναι θεωρητικά εφαρμόσιμες στις νέες αρχιτεκτονικές, όμως είτε καλύπτουν συγκεκριμένα είδη εφαρμογών με προφανή και άμεσα εκμεταλλεύσιμο παραλληλισμό, είτε δε λαμβάνουν υπόψη τις ιδιαιτερότητες κάθε αρχιτεκτονικής στη διαχείριση των πόρων με αποτέλεσμα να οδηγούν σε μειωμένη απόδοση. Στα πλαίσια αυτής της διατριβής εξετάζουμε τεχνικές που έχουν σαν στόχο τον εντοπισμό και την απεικόνιση του παραλληλισμού καθώς και τον αποδοτικό συγχρονισμό σε αρχιτεκτονικές επεξεργαστών με Ταυτόχρονο Πολυνηματισμό (Simultaneous Multithreading - SMT) και Πολυεπεξεργασία σε Επίπεδο Τσιπ (Chip-level Multiprocessing - CMP). Διερευνούμε εναλλακτικές τεχνικές παραλληλοποίησης που στηρίζονται στην ιδέα της βοηθητικής νημάτωσης (helper threading) και οι οποίες προορίζονται κυρίως για εφαρμογές με ασαφή, ακανόνιστο ή και μηδενικό εγγενή παραλληλισμό. Τέτοιες εφαρμογές δε θα μπορούσαν να λάβουν σημαντικά οφέλη αν εκτελούνταν σε κάποιο παραδοσιακό σύστημα πολυεπεξεργασίας ή χρησιμοποιώντας κάποια παραδοσιακή τεχνική παραλληλοποίησης. Στις αρχιτεκτονικές SMT χρησιμοποιούμε τη βοηθητική νημάτωση για να αποφορτίσουμε το κύριο νήμα μιας εφαρμογής από χρονοβόρες λειτουργίες πρόσβασης στη μνήμη. Σε αρκετές περιπτώσεις επιτυγχάνουμε αξιοσημείωτα αποτελέσματα, ωστόσο οι συγκρούσεις ανάμεσα στα εκτελούμενα νήματα για κοινούς πόρους του επεξεργαστή καθιστούν δύσκολη την επίτευξη μεγαλύτερων επιταχύνσεων. Στην κατεύθυνση αυτή προτείνουμε ένα πλαίσιο για την υλοποίηση αποδοτικών λειτουργιών συγχρονισμού, οι οποίες σε σύγκριση με άλλες υλοποιήσεις είναι σε θέση να προσφέρουν τον καλύτερο συμβιβασμό ανάμεσα στην αποδοτική διαχείριση πόρων και τη χαμηλή καθυστέρηση. Στις αρχιτεκτονικές CMP χρησιμοποιούμε τη βοηθητική νημάτωση για να αποφορτίσουμε το κύριο νήμα από πραγματικούς υπολογισμούς, αξιοποιώντας έναν προηγμένο μηχανισμό συγχρονισμού στο υλικό, αυτόν της μνήμης διενεργειών (transactional memory - ΤΜ). Παρουσιάζουμε ένα σχήμα υποθετικής παραλληλοποίησης (speculative parallelization), μέσω του οποίου καταφέρνουμε να επιταχύνουμε μια περίπτωση εφαρμογής για την οποία οποιοδήποτε συμβατικό σχήμα παραλληλοποίησης μέχρι τώρα είχε αρνητικά αποτελέσματα.


2018 ◽  
Vol 15 (1) ◽  
pp. 1-21 ◽  
Author(s):  
Zhen Lin ◽  
Michael Mantor ◽  
Huiyang Zhou

2015 ◽  
Vol 2015 ◽  
pp. 1-10
Author(s):  
Jianliang Ma ◽  
Jinglei Meng ◽  
Tianzhou Chen ◽  
Minghui Wu

Ultra high thread-level parallelism in modern GPUs usually introduces numerous memory requests simultaneously. So there are always plenty of memory requests waiting at each bank of the shared LLC (L2 in this paper) and global memory. For global memory, various schedulers have already been developed to adjust the request sequence. But we find few work has ever focused on the service sequence on the shared LLC. We measured that a big number of GPU applications always queue at LLC bank for services, which provide opportunity to optimize the service order on LLC. Through adjusting the GPU memory request service order, we can improve the schedulability of SM. So we proposed a critical-aware shared LLC request scheduling algorithm (CaLRS) in this paper. The priority representative of memory request is critical for CaLRS. We use the number of memory requests that originate from the same warp but have not been serviced when they arrive at the shared LLC bank to represent the criticality of each warp. Experiments show that the proposed scheme can boost the SM schedulability effectively by promoting the scheduling priority of the memory requests with high criticality and improves the performance of GPU indirectly.


Sign in / Sign up

Export Citation Format

Share Document