Can Traditional Programming Bridge the Ninja Performance Gap for Parallel Computing Applications?

Current processor trends of integrating more cores with wider Single-instruction multiple-data (SIMD) units, along with a deeper and complex memory hierarchy, have made it increasingly more challenging to extract performance from applications. It is believed by some that traditional approaches to pr...

Full description

Bibliographic Details
Published in:Communications of the ACM Vol. 58; no. 5; pp. 77 - 87
Main Authors: Satish, Nadathur, Kim, Changkyu, Chhugani, Jatin, Saito, Hideki, Krishnaiyer, Rakesh, Smelyanskiy, Mikhail, Girkar, Milind, Dubey, Pradeep
Format: Article
Published: Association for Computing Machinery May2015
Subjects:
Online Access:View this record in EBSCOhost
fields @attributes:
  recordID: 1
pdfLink:
plink: https://search.ebscohost.com/login.aspx?direct=true&db=hlh&AN=102403631&site=ehost-live
header:
  @attributes:
    shortDbName: hlh
    uiTerm: 102403631
    longDbName: Humanities International Complete
    uiTag: AN
  controlInfo:
    bkinfo:
    jinfo:
      jid:
        00010782
        ACM
      jtl: Communications of the ACM
      issn: 00010782
      maglogo: N
    pubinfo:
      dt: May2015
      vid: 58
      iid: 5
      pid: 68
      pub: Association for Computing Machinery
    artinfo:
      ui:
        102403631
        10.1145/2742910
      ppf: 77
      ppct: 10
      formats:
      tig:
        atl: Can Traditional Programming Bridge the Ninja Performance Gap for Parallel Computing Applications?
      aug:
        au:
          Satish, Nadathur
          Kim, Changkyu
          Chhugani, Jatin
          Saito, Hideki
          Krishnaiyer, Rakesh
          Smelyanskiy, Mikhail
          Girkar, Milind
          Dubey, Pradeep
        affil:
          Parallel Computing Lab, Intel Corp.
          Google Inc.
          Ebay Inc.
          Intel Compiler Lab, Intel Corp.
      su:
        Performance
        Parallel programs (Computer programs)
        Parallel programming
        C++
        Multicore processors
        SIMD (Computer architecture)
      sug:
        subj:
          Performance
          Parallel programs (Computer programs)
          Parallel programming
          C++
          Multicore processors
          SIMD (Computer architecture)
      ab: Current processor trends of integrating more cores with wider Single-instruction multiple-data (SIMD) units, along with a deeper and complex memory hierarchy, have made it increasingly more challenging to extract performance from applications. It is believed by some that traditional approaches to programming do not apply to these modern processors and hence radical new languages must be designed. In this paper, we question this thinking and offer evidence in support of traditional programming methods and the performance-versus-programming effort effectiveness of multi-core processors and upcoming many-core architectures in delivering significant speedup, and close-to-optimal performance for commonly used parallel computing workloads. We first quantify the extent of the “Ninja gap,” which is the performance gap between naively written C/C++ code that is parallelism unaware (often serial) and best-optimized code on modern multi-/many-core processors. Using a set of representative throughput computing benchmarks, we show that there is an average Ninja gap of 24X (up to 53X) for a 6-core Intel® Core™ i7 X980 Westmere CPU, and that this gap if left unaddressed will inevitably increase. We show how a set of well-known algorithmic changes coupled with advancements in modern compiler technology can bring down the Ninja gap to an average of just 1.3X. These changes typically require low programming effort, as compared to the very high effort in producing Ninja code. We show equally encouraging results for the upcoming Intel® Xeon Phi™ architecture which has more cores and wider SIMD. We thus demonstrate that we can contain the otherwise uncontrolled growth of the Ninja gap and offer a more stable and predictable performance growth over future architectures, offering strong evidence that radical language changes are not required.
      pubtype: Periodical
      doctype: Article
      src: R
    language: English
    refInfo:
    copyright:
      @attributes:
        flag: Y
      dt:
        @attributes:
          year: 2015
    holdings:
      @attributes:
        islocal: N