7 research outputs found

    Evaluating Asymmetric Multicore Systems-on-Chip using Iso-Metrics

    Get PDF
    The end of Dennard scaling has pushed power consumption into a first order concern for current systems, on par with performance. As a result, near-threshold voltage computing (NTVC) has been proposed as a potential means to tackle the limited cooling capacity of CMOS technology. Hardware operating in NTV consumes significantly less power, at the cost of lower frequency, and thus reduced performance, as well as increased error rates. In this paper, we investigate if a low-power systems-on-chip, consisting of ARM's asymmetric big.LITTLE technology, can be an alternative to conventional high performance multicore processors in terms of power/energy in an unreliable scenario. For our study, we use the Conjugate Gradient solver, an algorithm representative of the computations performed by a large range of scientific and engineering codes.Comment: Presented at HiPEAC EEHCO '15, 6 page

    Scheduling multithreaded applications in multicore systems

    No full text
    88 σ.Η στροφή σε πολυπύρηνα συστήματα, τα οποία παρέχουν αφθονία υπολογιστικών πό- ρων, έχουν οδηγήσει τους προγραμματιστές στην υιοθέτηση μοντέλων παράλληλου προγραμματισμού έτσι, ώστε να μπορέσουν αναπτύξουν αποδοτικές εφαρμογές. Ο πα- ράλληλος προγραμματισμός υπόσχεται επίδοση που κλιμακώνει με την αύξηση του πλήθους των υπολογιστικών πόρων. Παρ’ όλα αυτά, περιορισμοί που έχουν να κάνουν, κυρίως, με την ιεραρχία μνήμης δεν επιτρέπουν στις παράλληλες εφαρμογές να επιτύ- χουν την αναμενόμενη επίδοση. Σαν αποτέλεσμα οι εφαρμογές αυτές δεν είναι ικανές να αξιοποιήσουν τους διαθέσιμους πόρους. Για να μη μείνουν ανεκμετάλλευτοι αυτοί οι πόροι, υπάρχει η ανάγκη για ταυτόχρονη εκτέλεση για παραπάνω απο μία παράλληλες εφαρμογές. Σ’ αυτή την περίπτωση όμως, ο ανταγωνισμός για πόρους απο διαφορετικές εφαρμογές οδηγεί σε απρόβλεπτη συμπεριφορά και επιπλέον μείωση τις επίδοσής τους. Υπάρχει, λοιπόν, η ανάγκη για αποδοτική δρομολόγηση των εφαρμογών και διανομή των πόρων του συστήματος μνήμης. Στη διπλωματική αυτή, μελετάμε τους λόγους για τους οποίους οι υπάρχοντες schedulers των λειτουργικών συστημάτων δε βοηθάνε στην εκτέλεση παράλληλων εφαρμογών στα τρέχοντα υπολογιστικά συστήματα. Εξετάζουμε τους περιορισμούς του συστήματος μνήμης που οδηγεί σε κακή επίδοση των παράλλη- λων εφαρμογών. Στη συνέχεια μελετάμε κάποιες απ’ τις μεθόδους που έχουν προταθεί στη βιβλιογραφία για αντιμετώπιση των προβλημάτων των state-of-the-art schedulers σχετικά με τη δρομολόγηση παράλληλων εφαρμογών, καθώς και υλοποιούμε δικές μας τεχνικές δρομολόγησης. Τέλος, εξετάζουμε το θέμα της τοποθέτησης των νημάτων των πολυνηματικών εφαρμογών στους πυρήνες ενός πολυπύρηνου συστήματος. Συνοψίζο- ντας, τονίζουμε την αδυναμία των παράλληλων εφαρμογών να κλιμακώσουν ικανο- ποιητικά στα σημερινά πολυεπεξεργαστικά συστήματα και ως συνέπεια τη σημασία ανάπτυξης τεχνικών δρομολόγησης παράλληλων εφαρμογών που λαμβάνουν υπ’ όψιν τους την οργάνωση τους συστήματος μνήμης της υπολογιστικής πλατφόρμας και εφαρ- μόζουν τεχνικές που περιορίζουν τις επιπτώσεις του ανταγωνισμού των παράλληλων εφαρμογών για μοιραζόμενους πόρους του συστήματος μνήμης. Επισημαίνουμε τη ση- μασία της τοποθέτησης των νημάτων μια πολυνηματικής εφαρμογής στους επεξεργα- στές ενός πολυπύρηνου συστήματος και εξετάζουμε το πως διαφορετικές αποφάσεις, μπορούν να προσδώσουν διαφορετικά χαρακτηριστικά εκτέλεσης.The proliferation of Chip Multiprocessors (CMPs) has caused a noticeable stir in the current programming paradigm. Developers turn to parallel programming in order to take advantage of the multiple processing units found in todays computing systems. Multithreaded applications distribute the computational load in many threads that use shared memory to communicate. e shift, however, from Symmetric Multiprocessors (SMPs) to CMPs has brought up challenges concerning contention in resources that are shared among cores of the CMP which do not allow applications to achieve the expected performance. Computing systems, from their side have been developed to adapt to the new platforms. With the advent of SMPs task schedulers have been extended to load balance the system workload to the multiple identical cpus in order to exploit parallelism. Schedulers are now obliged to use space-sharing in order to achieve maximum utilization of the system resources, since applications are incapable to exploit them on their own. e hierarchical organization of the CMPs, however, with cores sharing resources such as cache memory, memory bus, DRAM controllers etc, require much more elaborate scheduler implementations. In this thesis, we explore the factors that lead to poor performance in cases where multiple multithreaded applications are executed on a CMP. Knowing that memory constraints are the primary reason for which multithreaded applications fail to scale with many cpus, we can expect that this phenomenon will be more intense when those applications will contend for resources of the memory subsystem. First, we investigate what effect has the limited memory bandwidth in the execution of multithreaded applications and most importantly when they are co-scheduled with other applications and extract information that could be used from a scheduler in order to make more efficient decisions. Second we study how decisions on thread affinity of multithreaded applications can affect their execution profile. e hierarchical organization of CMPs has made thread affinity an important aspect. Whereas in SMPs placement of threads is not important, since the only resource they share is the memory bus, in CMPs where cores share multiple resources, affinity of threads determine the amount of resources applications contend for. Finally we compare some scheduler implementations found in previous work, as well as, a scheduler that we implemented and the Linux scheduler.Χαράλαμπος K. Χαλιό
    corecore