• DocumentCode
    167472
  • Title

    A Stream Processing Framework for On-Line Optimization of Performance and Energy Efficiency on Heterogeneous Systems

  • Author

    Ranft, Benjamin ; Denninger, Oliver ; Pfaffe, Philip

  • Author_Institution
    FZI Res. Center for Inf. Technol., Karlsruhe, Germany
  • fYear
    2014
  • fDate
    19-23 May 2014
  • Firstpage
    1039
  • Lastpage
    1048
  • Abstract
    Modern processors have the potential of executing compute-intensive programs quickly and efficiently, but require applications to be adapted to their ever increasing parallelism. Here, heterogeneous systems add complexity by combining processing units with different characteristics. Scheduling should thus consider the performance of each processor as well as competing workloads and varying inputs. To assist programmers of stream processing applications in facing this challenge we present libHawaii, an open source library for cooperatively using all processors of heterogeneous systems easily and efficiently. It supports exploiting data flow, data element and task parallelism via pipelining, partitioning and demand-based allocation of consecutive work items. Scheduling is automatically adapted on-line to continuously optimize performance and energy efficiency. Our C++ library does not depend on specific hardware architectures or parallel computing frameworks. However, it facilitates maximizing the throughput of compatible GPUs by overlapping computations and memory transfers while maintaining low latencies. This paper describes the algorithms and implementation of libHawaii and demonstrates its usage on existing applications. We experimentally evaluate our library using two examples: General matrix multiplication (GEMM) is a simple yet important building block of many high-performance computing applications. Complementarily, the detection, extraction and matching of sparse image features exhibits greater complexity, including indeterministic memory access and synchronization.
  • Keywords
    parallel programming; power aware computing; processor scheduling; public domain software; software libraries; C++ library; GEMM; GPU; compute-intensive programs; data element; data flow; data partitioning; demand-based allocation; general matrix multiplication; heterogeneous systems; high-performance computing applications; indeterministic memory access; libHawaii; low-latency maintenance; memory transfers; online energy efficiency optimization; online performance optimization; open source library; overlapping computations; pipelining; processing units; processor performance; processor scheduling; processor workloads; sparse image feature detection; sparse image feature extraction; sparse image feature matching; stream processing framework; synchronization; task parallelism; varying processor inputs; Graphics processing units; Libraries; Pipeline processing; Processor scheduling; Throughput; energy efficiency; heterogeneous computing; load balancing; parallel programming; real-time; stream processing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel & Distributed Processing Symposium Workshops (IPDPSW), 2014 IEEE International
  • Conference_Location
    Phoenix, AZ
  • Print_ISBN
    978-1-4799-4117-9
  • Type

    conf

  • DOI
    10.1109/IPDPSW.2014.119
  • Filename
    6969495