Quasi-Static Scheduling for Safe Futures

被引:13
|
作者
Navabi, Armand [1 ]
Zhang, Xiangyu [1 ]
Jagannathan, Suresh [1 ]
机构
[1] Purdue Univ, Dept Comp Sci, W Lafayette, IN 47907 USA
基金
美国国家科学基金会;
关键词
concurrency control; future; static program analysis;
D O I
10.1145/1345206.1345212
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Migrating sequential programs to effectively utilize next generation multicore architectures is a key challenge facing application developers and implementors. Languages like Java that support complex control- and dataflow abstractions confound classical automatic parallelization techniques. On the other hand, introducing multithreading and concurrency control explicitly into programs can impose a high conceptual burden on the programmer, and may entail a significant rewrite of the original program. In this paper, we consider a new technique to address this issue. Our approach makes use of futures, a simple annotation that introduces asynchronous concurrency into Java programs, but provides no concurrency control. To ensure concurrent execution does not yield behavior inconsistent with sequential execution (i.e., execution yielded by erasing all futures), we present a new inter-procedural summary-based dataflow analysis. The analysis inserts lightweight barriers that block and resume threads executing futures if a dependency violation may ensue. There are no constraints on how threads execute other than those imposed by these barriers. Our experimental results indicate futures can be leveraged to transparently ensure safety and profitably exploit parallelism; in contrast to earlier efforts, our technique is completely portable, and requires no modifications to the underlying JVM.
引用
收藏
页码:23 / 32
页数:10
相关论文
共 50 条
  • [1] Quasi-static scheduling of communicating tasks
    Darondeau, Philippe
    Genest, Blaise
    Thiagarajan, P. S.
    Yang, Shaofa
    [J]. CONCUR 2008 - CONCURRENCY THEORY, PROCEEDINGS, 2008, 5201 : 310 - +
  • [2] Quasi-static scheduling for concurrent architectures
    Cortadella, J
    Kondratyev, A
    Lavagno, L
    Taubin, A
    Watanabe, Y
    [J]. FUNDAMENTA INFORMATICAE, 2004, 62 (02) : 171 - 196
  • [3] Quasi-static scheduling for concurrent architectures
    Cortadella, J
    Kondratyev, A
    Lavagno, L
    Watanabe, Y
    [J]. THIRD INTERNATIONAL CONFERENCE ON APPLICATION OF CONCURRENCY TO SYSTEM DESIGN, PROCEEDINGS, 2003, : 29 - 40
  • [4] Quasi-static scheduling of communicating tasks
    Darondeau, Philippe
    Genest, Blaise
    Thiagarajan, P. S.
    Yang, Shaofa
    [J]. INFORMATION AND COMPUTATION, 2010, 208 (10) : 1154 - 1168
  • [5] False path elimination in quasi-static scheduling
    Arrigoni, G
    Duchini, L
    Lavagno, L
    Passerone, C
    Watanabe, Y
    [J]. DESIGN, AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION, 2002 PROCEEDINGS, 2002, : 964 - 970
  • [6] Quasi-static scheduling of independent tasks for reactive systems
    Cortadella, J
    Kondratyev, A
    Lavagno, L
    Passerone, C
    Watanabe, Y
    [J]. IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2005, 24 (10) : 1492 - 1514
  • [7] Quasi-static scheduling of independent tasks for reactive systems
    Cortadella, J
    Kondratyev, A
    Lavagno, L
    Passerone, C
    Watanabe, Y
    [J]. APPLICATIONS AND THEORY OF PETRI NETS 2002, 2002, 2360 : 80 - 100
  • [8] Quasi-static scheduling of reconfigurable dataflow graphs for DSP systems
    Bhattacharya, B
    Bhattacharyya, SS
    [J]. 11TH IEEE INTERNATIONAL WORKSHOP ON RAPID SYSTEM PROTOTYPING, PROCEEDINGS, 2000, : 84 - 89
  • [9] State space compression in history driven quasi-static scheduling
    Lomeña, AG
    López-Vallejo, M
    Watanabe, Y
    Kondratyev, A
    [J]. EMBEDDED SOFTWARE FOR SOC, 2003, : 261 - 274
  • [10] WHAT IS QUASI-STATIC
    WAIT, JR
    [J]. IEEE ANTENNAS AND PROPAGATION MAGAZINE, 1995, 37 (04) : 109 - 110