5 research outputs found

    Energy efficient core designs for upcoming process technologies

    Get PDF
    Energy efficiency has been a first order constraint in the design of micro processors for the last decade. As Moore's law sunsets, new technologies are being actively explored to extend the march in increasing the computational power and efficiency. It is essential for computer architects to understand the opportunities and challenges in utilizing the upcoming process technology trends in order to design the most efficient processors. In this work, we consider three process technology trends and propose core designs that are best suited for each of the technologies. The process technologies are expected to be viable over a span of timelines. We first consider the most popular method currently available to improve the energy efficiency, i.e. by lowering the operating voltage. We make key observations regarding the limiting factors in scaling down the operating voltage for general purpose high performance processors. Later, we propose our novel core design, ScalCore, one that can work in high performance mode at nominal Vdd, and in a very energy-efficient mode at low Vdd. The resulting core design can operate at much lower voltages providing higher parallel performance while consuming lower energy. While lowering Vdd improves the energy efficiency, CMOS devices are fundamentally limited in their low voltage operation. Therefore, we next consider an upcoming device technology -- Tunneling Field-Effect Transistors (TFETs), that is expected to supplement CMOS device technology in the near future. TFETs can attain much higher energy efficiency than CMOS at low voltages. However, their performance saturates at high voltages and, therefore, cannot entirely replace CMOS when high performance is needed. Ideally, we desire a core that is as energy-efficient as TFET and provides as much performance as CMOS. To reach this goal, we characterize the TFET device behavior for core design and judiciously integrate TFET units, CMOS units in a single core. The resulting core, called HetCore, can provide very high energy efficiency while limiting the slowdown when compared to a CMOS core. Finally, we analyze Monolithic 3D (M3D) integration technology that is widely considered to be the only way to integrate more transistors on a chip. We present the first analysis of the architectural implications of using M3D for core design and show how to partition the core across different layers. We also address one of the key challenges in realizing the technology, namely, the top layer performance degradation. We propose a critical path based partitioning for logic stages and asymmetric bit/port partitioning for storage stages. The result is a core that performs nearly as well as a core without any top layer slowdown. When compared to a 2D baseline design, an M3D core not only provides much higher performance, it also reduces the energy consumption at the same time. In summary, this thesis addresses one of the fundamental challenges in computer architecture -- overcoming the fact that CMOS is not scaling anymore. As we increase the computing power on a single chip, our ability to power the entire chip keeps decreasing. This thesis proposes three solutions aimed at solving this problem over different timelines. Across all our solutions, we improve energy efficiency without compromising the performance of the core. As a result, we are able to operate twice as many cores with in the same power budget as regular cores, significantly alleviating the problem of dark silicon

    Micro-Viruses for Fast and Accurate Characterization of Voltage Margins and Variations in Multicore CPUs

    Get PDF
    Οι ενεργειακά-αποδοτικοί υπολογισμοί είναι δυνατοί μέσω του γρήγορου και ακριβούς προσδιορισμού των δυσοίωνων περιθωρίων τάσης σε σχεδιάσεις πολυπύρηνων επεξεργαστών και πιο συγκεκριμένα με την αποκάλυψη της διακύμανσης των περιθωρίων τάσης ανάμεσα σε πυρήνες και επεξεργαστές. Σε συστήματα με πολλαπλές υποδοχές για πολυπύρηνους επεξεργαστές, με κάθε έναν να διαθέτει πολλαπλούς πυρήνες, η μεταβλητότητα των περιθωρίων μεταξύ πυρήνων και μεταξύ επεξεργαστών μπορεί να αξιοποιηθεί αποτελεσματικά μέσω στρωμάτων λογισμικού για ενεργειακά-αποδοτική χρονοδρομολόγηση των νημάτων. Ο μαζικός αλλά ειλικρινής χαρακτηρισμός των περιθωρίων τάσης διαφορετικών επεξεργαστών και των πυρήνων τους είναι μια υπερβολικά χρονοβόρα και συνεπώς μη προσιτή διαδικασία στις περισσότερες περιπτώσεις, αν αυτή βασιστεί σε δημόσια διαθέσιμα προγράμματα αναφοράς με μεγάλους χρόνους εκτέλεσης. Στη παρούσα διπλωματική εργασία, ακολουθούμε μια διαφορετική στρατηγική για τον χαρακτηρισμό των περιθωρίων τάσης πολυπύρηνων επεξεργαστών και για την μέτρηση της διακύμανσης των περιθωρίων αυτών ανάμεσα σε διαφορετικούς επεξεργαστές και πυρήνες: προτείνουμε την υιοθέτησή γρήγορων και στοχευμένων προγραμμάτων (διαγνωστικοί μικρό-ιοί) των οποίων στόχος είναι να πιέσουν ξεχωριστά τα βασικά συστατικά ενός πολυπύρηνου επεξεργαστή τα οποία είναι γνωστό πως καθορίζουν τα όρια στην μείωση της τάσης, με άλλα λόγια την ελάχιστη δυνατή τάση Vmin. Περιγράφουμε την ανάπτυξη των διαγνωστικών μικρό-ιών που στοχεύουν ξεχωριστά τα τρία επίπεδα των κρυφών μνημών και τις βασικές μονάδες επεξεργασίας, την αριθμητική μονάδα ακέραιων αριθμών και την αριθμητική μονάδα αριθμών κινητής υποδιαστολής. Ο συνδυαστικός χρόνος εκτέλεσης όλων των διαγνωστικών μικρό-ιών είναι σημαντικά συντομότερος από αυτών κανονικών προγραμμάτων, με συνέπεια οι πυρήνες ενός επεξεργαστή να πιέζονται εκτεταμένα ώστε να αποκαλύψουν τα όρια τάσης όταν λειτουργούν κάτω από την ονομαστική τους τάση. Για να επιδείξουμε την αποτελεσματικότητα των μικρό-ιών μας, συγκρίνουμε την ελάχιστη δυνατή τάση λειτουργίας Vmin που αυτοί προσδιορίζουν με αυτή που προσδιορίζουν υπερβολικά χρονοβόρες καμπάνιες προσδιορισμού με τη βοήθεια των προγραμμάτων αναφοράς SPEC CPU2006. Οι μικρό-ιοί που αναπτύχθηκαν απαιτούν τάξεις μεγέθους μικρότερο χρόνο εκτέλεσης, ενώ την ίδια στιγμή τα αποτελέσματα τους απέχουν ελάχιστα (στις περισσότερες περιπτώσεις είναι πανομοιότυπα, με αποκλίσεις της τάξης του 2%) στον προσδιορισμό (α) της ελάχιστης τάσης λειτουργίας Vmin για διαφορετικούς επεξεργαστές (β) της ελάχιστης τάσης λειτουργίας Vmin μεταξύ των διαφορετικών πυρήνων του ίδιου επεξεργαστή και (γ) της μεταβλητότητας των περιθωρίων τάσης από επεξεργαστή σε επεξεργαστή και από πυρήνα σε πυρήνα. Τέλος, αξιολογούμε πειραματικά την ροή χαρακτηρισμού με τους προτεινόμενους μικρό-ιούς (συγκρίνοντας την με αυτή που βασίζεται στα προγράμματα αναφοράς) σε τρεις διαφορετικούς επεξεργαστές (έναν με nominal grade και δύο που ανήκουν στα corner parts) σε έναν server της οικογένειας X-Gene 2 της εταιρείας AppliedMicro (8 πυρήνες, ARMv8 επεξεργαστής κατασκευασμένος με την διαδικασία 28nm). Τα αποτελέσματα επαληθεύουν την ταχύτητα και την ακρίβεια της προτεινόμενης μεθόδου.Energy-efficient computing can be largely enabled by fast and accurate identification of the pessimistic voltage margins of multicore CPU designs and in particular the unveiling of voltage margins variability among cores and among chips. In multi-socketed systems with multiple CPUs each of which consists of several cores, the core-to-core and the chip-to-chip voltage margin variability can be effectively utilized by software layers for diligent power-saving threads scheduling. Massive but straightforward characterization of the voltage margins of different CPU chips and their different cores is an excessively long and thus unaffordable in most cases process if it is naively based on publicly available benchmarks or other in-house programs with large execution times. In this thesis, we follow a different strategy for the characterization of the voltage margins of multicore CPUs and the measurement of the voltage variability among chips and cores: we propose the employment of fast targeted programs (diagnostic micro-viruses) that aim to stress individually the main hardware components of a multicore CPU architecture which are known to determine the limits of voltage reduction, i.e. the Vmin values. We describe the development of the micro-viruses which target separately the three different cache memory levels and the main processing components, the integer and the floating-point arithmetic units. The combined execution of the micro-viruses takes very short time compared to regular programs and extensively stress the CPU cores to reveal their voltage limits when they operate below the nominal voltage levels. To demonstrate the effectiveness of the synthetic micro-virus programs, we compare the safe Vmin reported by the combined micro-viruses characterization against the corresponding safe Vmin values of SPEC CPU2006 benchmarks. The micro-viruses based characterization flow requires orders of magnitude shorter time while it delivers very close results to the excessively characterization campaign (in most cases identical, at most 2% divergences) in terms of: (a) Vmin values for the different CPU chips (b) Vmin values for the different cores within a chip, (c) core-to-core and chip-to-chip voltage margins variability. We evaluate the proposed micro-viruses based characterization flow (and compare it to the SPEC-based flow) on three different chips (a nominal grade and two corner parts) of AppliedMicro’s X-Gene 2 micro-server family (8-core, ARMv8-based CPUs manufactured in 28nm); the reported results validate the speed and accuracy of the proposed method

    Aggressive undervolting of FPGAs : power & reliability trade-offs

    Get PDF
    In this work, we evaluate aggressive undervolting, i.e., voltage underscaling below the nominal level to reduce the energy consumption of Field Programmable Gate Arrays (FPGAs). Usually, voltage guardbands are added by chip vendors to ensure the worst-case process and environmental scenarios. Through experimenting on several FPGA architectures, we con¿rm a large voltage guardband for several FPGA components, which in turn, delivers signi¿cant power savings. However, further undervolting below the voltage guardband may cause reliability issues as the result of the circuit delay increase, and faults might start to appear. We extensively characterize the behavior of these faults in terms of the rate, location, type, as well as sensitivity to environmental temperature, primarily focusing on FPGA on-chip memories, or Block RAMs (BRAMs). Understanding this behavior can allow to deploy ef¿cient mitigation techniques, and in turn, FPGA-based designs can be improved for better energy, reliability, and performance trade-offs. Finally, as a case study, we evaluate a typical FPGA-based Neural Network (NN) accelerator when the FPGA voltage is underscaled. In consequence, the substantial NN energy savings come with the cost of NN accuracy loss. To attain power savings without NN accuracy loss below the voltage guardband gap, we proposed an application-aware technique and we also, evaluated the built-in Error-Correcting Code (ECC) mechanism. Hence, First, we developed an application-dependent BRAMs placement technique that relies on the deterministic behavior of undervolting faults, and mitigates these faults by mapping the most reliability sensitive NN parameters to BRAM blocks that are relatively more resistant to undervolting faults. Second, as a more general technique, we applied the built-in ECC of BRAMs and observed a signi¿cant fault coverage capability thanks to the behavior of undervolting faults, with a negligible power consumption overhead.En este trabajo, evaluamos el reducir el voltaje en forma agresiva, es decir, bajar la tensión por debajo del nivel nominal para reducir el consumo de energía en Field Programmable Gate Arrays (FPGA). Por lo general, los vendedores de chips establecen margen de seguridad al voltaje para garantizar el funcionamiento de los mismos en el peor de los casos y en los peores escenarios ambientales. Mediante la experimentación en varias arquitecturas FPGA, confirmamos que hay un margen de seguridad de voltaje grande en varios de los componentes de la FPGA, que a su vez, nos ofrece ahorros de energía significativos. Sin embargo, un trabajar a un voltaje por debajo del margen de seguridad del voltaje puede causar problemas de confiabilidad a medida ya que aumenta el retardo del circuito y pueden comenzar a aparecer fallos. Caracterizamos ampliamente el comportamiento de estos fallos en términos de velocidad, ubicación, tipo, así como la sensibilidad a la temperatura ambiental, centrándonos principalmente en memorias internas de la FPGA, o Block RAM (BRAM). Comprender este comportamiento puede permitir el desarrollo de técnicas eficientes de mitigación y, a su vez, mejorar los diseños basados en FPGA para obtener ahorros en energía, una mayor confiabilidad y un mayor rendimiento. Finalmente, como caso de estudio, evaluamos un acelerador típico de Redes Neuronales basado en FPGA cuando el voltaje de la FPGA esta por debajo del nivel mínimo de seguridad. En consecuencia, los considerables ahorros de energía de la red neuronal vienen asociados con la pérdida de precisión de la red neuronal. Para obtener ahorros de energía sin una pérdida de precisión en la red neuronal por debajo del margen de seguridad del voltaje, proponemos una técnica que tiene en cuenta la aplicación, asi mismo, evaluamos el mecanismo integrado en las BRAMs de Error Correction Code (ECC). Por lo tanto, en primer lugar, desarrollamos una técnica de colocación de BRAM dependiente de la aplicación que se basa en el comportamiento determinista de las fallos cuando la FPGA funciona por debajo del margen de seguridad, y se mitigan estos fallos asignando los parámetros de la red neuronal más sensibles a producir fallos a los bloques BRAM que son relativamente más resistentes a los fallos. En segundo lugar, como técnica más general, aplicamos el ECC incorporado de los BRAM y observamos una capacidad de cobertura de fallos significativo gracias a las características de comportamiento de fallos, con una sobrecoste de consumo de energía insignificantePostprint (published version

    Methodologies for Accelerated Analysis of the Reliability and the Energy Efficiency Levels of Modern Microprocessor Architectures

    Get PDF
    Η εξέλιξη της τεχνολογίας ημιαγωγών, της αρχιτεκτονικής υπολογιστών και της σχεδίασης οδηγεί σε αύξηση της απόδοσης των σύγχρονων μικροεπεξεργαστών, η οποία επίσης συνοδεύεται από αύξηση της ευπάθειας των προϊόντων. Οι σχεδιαστές εφαρμόζουν διάφορες τεχνικές κατά τη διάρκεια της ζωής των ολοκληρωμένων κυκλωμάτων με σκοπό να διασφαλίσουν τα υψηλά επίπεδα αξιοπιστίας των παραγόμενων προϊόντων και να τα προστατέψουν από διάφορες κατηγορίες σφαλμάτων διασφαλίζοντας την ορθή λειτουργία τους. Αυτή η διδακτορική διατριβή προτείνει καινούριες μεθόδους για να διασφαλίσει τα υψηλά επίπεδα αξιοπιστίας και ενεργειακής απόδοσης των σύγχρονων μικροεπεξεργαστών οι οποίες μπορούν να εφαρμοστούν κατά τη διάρκεια του πρώιμου σχεδιαστικού σταδίου, του σταδίου παραγωγής ή του σταδίου της κυκλοφορίας των ολοκληρωμένων κυκλωμάτων στην αγορά. Οι συνεισφορές αυτής της διατριβής μπορούν να ομαδοποιηθούν στις ακόλουθες δύο κατηγορίες σύμφωνα με το στάδιο της ζωής των μικροεπεξεργαστών στο οποίο εφαρμόζονται: • Πρώιμο σχεδιαστικό στάδιο: Η στατιστική εισαγωγή σφαλμάτων σε δομές που είναι μοντελοποιημένες σε προσομοιωτές οι οποίοι στοχεύουν στην μελέτη της απόδοσης είναι μια επιστημονικά καθιερωμένη μέθοδος για την ακριβή μέτρηση της αξιοπιστίας, αλλά υστερεί στον αργό χρόνο εκτέλεσης. Σε αυτή τη διατριβή, αρχικά παρουσιάζουμε ένα νέο πλήρως αυτοματοποιημένο εργαλείο εισαγωγής σφαλμάτων σε μικροαρχιτεκτονικό επίπεδο που στοχεύει στην ακριβή αξιολόγηση της αξιοπιστίας ενός μεγάλου πλήθους μονάδων υλικού σε σχέση με διάφορα μοντέλα σφαλμάτων (παροδικά, διακοπτόμενα, μόνιμα σφάλματα). Στη συνέχεια, χρησιμοποιώντας το ίδιο εργαλείο και στοχεύοντας τα παροδικά σφάλματα, παρουσιάζουμε διάφορες μελέτες σχετιζόμενες με την αξιοπιστία και την απόδοση, οι οποίες μπορούν να βοηθήσουν τις σχεδιαστικές αποφάσεις στα πρώιμα στάδια της ζωής των επεξεργαστών. Τελικά, προτείνουμε δύο μεθοδολογίες για να επιταχύνουμε τα μαζικά πειράματα στατιστικής εισαγωγής σφαλμάτων. Στην πρώτη, επιταχύνουμε τα πειράματα έπειτα από την πραγματική εισαγωγή των σφαλμάτων στις δομές του υλικού. Στη δεύτερη, επιταχύνουμε ακόμη περισσότερο τα πειράματα προτείνοντας τη μεθοδολογία με όνομα MeRLiN, η οποία βασίζεται στη μείωση της αρχικής λίστας σφαλμάτων μέσω της ομαδοποίησής τους σε ισοδύναμες ομάδες έπειτα από κατηγοριοποίηση σύμφωνα με την εντολή που τελικά προσπελαύνει τη δομή που φέρει το σφάλμα. • Παραγωγικό στάδιο και στάδιο κυκλοφορίας στην αγορά: Οι συνεισφορές αυτής της διδακτορικής διατριβής σε αυτά τα στάδια της ζωής των μικροεπεξεργαστών καλύπτουν δύο σημαντικά επιστημονικά πεδία. Αρχικά, χρησιμοποιώντας το ολοκληρωμένο κύκλωμα των 48 πυρήνων με ονομασία Intel SCC, προτείνουμε μια τεχνική επιτάχυνσης του εντοπισμού μονίμων σφαλμάτων που εφαρμόζεται κατά τη διάρκεια λειτουργίας αρχιτεκτονικών με πολλούς πυρήνες, η οποία εκμεταλλεύεται το δίκτυο υψηλής ταχύτητας μεταφοράς μηνυμάτων που διατίθεται στα ολοκληρωμένα κυκλώματα αυτού του είδους. Δεύτερον, προτείνουμε μια λεπτομερή στατιστική μεθοδολογία με σκοπό την ακριβή πρόβλεψη σε επίπεδο συστήματος των ασφαλών ορίων λειτουργίας της τάσης των πυρήνων τύπου ARMv8 που βρίσκονται πάνω στη CPU X-Gene 2.The evolution in semiconductor manufacturing technology, computer architecture and design leads to increase in performance of modern microprocessors, which is also accompanied by increase in products’ vulnerability to errors. Designers apply different techniques throughout microprocessors life-time in order to ensure the high reliability requirements of the delivered products that are defined as their ability to avoid service failures that are more frequent and more severe than is acceptable. This thesis proposes novel methods to guarantee the high reliability and energy efficiency requirements of modern microprocessors that can be applied during the early design phase, the manufacturing phase or after the chips release to the market. The contributions of this thesis can be grouped in the two following categories according to the phase of the CPUs lifecycle that are applied at: • Early design phase: Statistical fault injection using microarchitectural structures modeled in performance simulators is a state-of-the-art method to accurately measure the reliability, but suffers from low simulation throughput. In this thesis, we firstly present a novel fully-automated versatile microarchitecture-level fault injection framework (called MaFIN) for accurate characterization of a wide range of hardware components of an x86-64 microarchitecture with respect to various fault models (transient, intermittent, permanent faults). Next, using the same tool and focusing on transient faults, we present several reliability and performance related studies that can assist design decision in the early design phases. Moreover, we propose two methodologies to accelerate the statistical fault injection campaigns. In the first one, we accelerate the fault injection campaigns after the actual injection of the faults in the simulated hardware structures. In the second, we further accelerate the microarchitecture level fault injection campaigns by proposing MeRLiN a fault pre-processing methodology that is based on the pruning of the initial fault list by grouping the faults in equivalent classes according to the instruction access patterns to hardware entries. • Manufacturing phase and release to the market: The contributions of this thesis in these phases of microprocessors life-cycle cover two important aspects. Firstly, using the 48-core Intel’s SCC architecture, we propose a technique to accelerate online error detection of permanent faults for many-core architectures by exploiting their high-speed message passing on-chip network. Secondly, we propose a comprehensive statistical analysis methodology to accurately predict at the system level the safe voltage operation margins of the ARMv8 cores of the X- Gene 2 chip when it operates in scaled voltage conditions
    corecore