• DocumentCode
    3459074
  • Title

    Language and Virtual Machine Support for Efficient Fine-Grained Futures in Java

  • Author

    Zhang, Lingli ; Krintz, Chandra ; Nagpurkar, Priya

  • Author_Institution
    Univ. of California, Santa Barbara
  • fYear
    2007
  • fDate
    15-19 Sept. 2007
  • Firstpage
    130
  • Lastpage
    139
  • Abstract
    In this work, we investigate the implementation of futures in Java J2SE v 5.0. Java 5.0 provides an interface-based implementation of futures that enables users to encapsulate potentially asynchronous computation and to define their own execution engines for futures. Although this methodology decouples thread scheduling from application logic, for applications with fine-grained parallelism, this model imposes an undue burden on the average users and introduces significant performance overhead. To address these issues, we investigate the use of lazy futures and offer an alternative implementation to the Java 5.0 approach. In particular, we present a directive-based programming model for using futures in Java that uses annotations in Java 5.0 (as opposed to interfaces) and a lazy future implementation to significantly simplify programmer effort. Our directive-based future system employs novel compilation and runtime techniques that transparently and adaptively split and spawn futures for parallel execution. All such decisions are automatic and guided by dynamically determined future granularity and underlying resource availability. We empirically evaluate our future implementation using different Java Virtual Machine configurations and common Java benchmarks that implement fine-grained parallelism. We compare directive-based lazy futures with lazy and Java 5.0 futures and show that our approach is significantly more scalable.
  • Keywords
    Java; parallel programming; virtual machines; Java J2SE 5.0; Java virtual machine; directive-based lazy future system; directive-based programming model; fine-grained parallelism; Computer interfaces; Engines; Java; Logic programming; Parallel processing; Processor scheduling; Programming profession; Runtime; Virtual machining; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Architecture and Compilation Techniques, 2007. PACT 2007. 16th International Conference on
  • Conference_Location
    Brasov
  • ISSN
    1089-795X
  • Print_ISBN
    978-0-7695-2944-8
  • Type

    conf

  • DOI
    10.1109/PACT.2007.4336206
  • Filename
    4336206