Efficient support of fine-grained futures in Java']Java

被引:0
作者
Zhang, Lingli [1 ]
Krintz, Chandra [1 ]
Soman, Sunil [1 ]
机构
[1] Univ Calif Santa Barbara, Dept Comp Sci, Santa Barbara, CA 93106 USA
来源
PROCEEDINGS OF THE 18TH IASTED INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING AND SYSTEMS | 2006年
关键词
!text type='Java']Java[!/text; futures; fine-grained; parallel programming; task scheduling; profile-guided;
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
A future is a parallel programming language construct that enables programmers to specify potentially asynchronous computations. We present and empirically evaluate a novel implementation of futures for Java. Our futures implementation is a JVM extension that couples estimates of future computational granularity with underlying resource availability to enable automatic and adaptive decisions of when to spawn futures in parallel or to execute them sequentially. Our system builds from, combines. and extends (i) lazy task creation and (ii) a JVM sampling infrastructure previously used solely for dynamic and adaptive compilation. We empirically evaluate our system using different benchmarks, triggers for automatic spawning of futures, processor availability, and JVM configurations. We show that our future implementation for Java is efficient and scalable for fine-grained Java futures without requiring programmer intervention.
引用
收藏
页码:175 / +
页数:2
相关论文
共 21 条
[1]  
ARNOLD M., 2000, ACM SIGPLAN C OBJ OR
[2]  
Blackburn Stephen M., 2004, P 4 INT S MEMORY MAN, P143, DOI DOI 10.1145/1029873.1029891
[3]  
Charles P., 2005, P 20 ANN ACM SIGPLAN, P519, DOI [DOI 10.1145/1094811.1094852, DOI 10.1145/1103845.1094852]
[4]   Dynamic feedback: An effective technique for adaptive computing [J].
Diniz, P ;
Rinard, M .
ACM SIGPLAN NOTICES, 1997, 32 (05) :71-84
[5]  
Flanagan Cormac, 1995, POP95 22 ACM SIGPLAN, P209, DOI [10.1145/199448.199484, DOI 10.1145/199448.199484]
[6]  
FRIGO M, 1998, PLDI 98, P212, DOI DOI 10.1145/277652.277725
[7]   Lazy threads: Implementing a fast parallel call [J].
Goldstein, SC ;
Schauser, KE ;
Culler, DE .
JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1996, 37 (01) :5-20
[8]   MULTILISP - A LANGUAGE FOR CONCURRENT SYMBOLIC COMPUTATION [J].
HALSTEAD, RH .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1985, 7 (04) :501-538
[9]  
James HA, 2000, LECT NOTES COMPUT SC, V1823, P41
[10]  
Jung C., 2005, P 10 ACM SIGPLAN S P, P236, DOI DOI 10.1145/1065944.1065976