Fair cooperative multithreading

被引:0
|
作者
Boudol, Gerard [1 ]
机构
[1] INRIA, F-06902 Sophia Antipolis, France
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We propose a new operational model for shared variable con-currency, in the context of a concurrent, higher-order imperative language h la ML. In our model the scheduling of threads is cooperative, and a non-terminating process suspends itself on each recursive call. A property to ensure in such a model is fairness, that is, any thread should yield the scheduler after some finite computation. To this end, we follow and adapt the classical method for proving termination in typed formalisms, namely the realizability technique. There is a specific difficulty with higher-order state, which is that one cannot define a realizability interpretation simply by induction on types, because applying a function may have side-effects at types not smaller than the type of the function. Moreover, such higher-order side-effects may give rise to computations that diverge without resorting to explicit recursion. We overcome these difficulties by introducing a type and effect system for our language that enforces a stratification of the memory. The stratification prevents the circularities in the memory that may cause divergence, and allows us to define a realizability interpretation of the types and effects, which we then use to prove the intended termination property.
引用
收藏
页码:272 / 286
页数:15
相关论文
共 50 条
  • [1] Cooperative multithreading: Experience with applications
    Fodor, EF
    Olsson, RA
    [J]. INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, PROCEEDINGS, 1999, : 1953 - 1957
  • [2] A comparison of concurrent programming and cooperative multithreading
    Ishihara, T
    Li, TJ
    Fodor, EF
    Olsson, RA
    [J]. EURO-PAR 2000 PARALLEL PROCESSING, PROCEEDINGS, 2000, 1900 : 729 - 738
  • [3] CellMT: A Cooperative Multithreading Library for the Cell/BE
    Beltran, Vicenc
    Carrera, David
    Torres, Jordi
    Ayguade, Eduard
    [J]. 16TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING (HIPC), PROCEEDINGS, 2009, : 245 - 253
  • [4] A comparison of concurrent programming and cooperative multithreading
    Keen, AW
    Ishihara, T
    Maris, JT
    Li, TJ
    Fodor, EF
    Olsson, RA
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2003, 15 (01): : 27 - 53
  • [5] COOPERATIVE MULTITHREADING IN DYNAMICALLY RECONFIGURABLE SYSTEMS
    Luebbers, Enno
    Platzner, Marco
    [J]. FPL: 2009 INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS, 2009, : 551 - 554
  • [6] A comparison of concurrent programming and cooperative multithreading under load balancing applications
    Maris, JT
    Keen, AW
    Ishihara, T
    Olsson, RA
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2004, 16 (04): : 345 - 369
  • [7] Fair sharing in cooperative games
    Smol'yakov, E. R.
    [J]. DOKLADY MATHEMATICS, 2008, 77 (01) : 153 - 157
  • [8] Fair sharing in cooperative games
    Smo'yakov, E.R.
    [J]. Avtomatika i Telemekhanika, 2002, (07): : 128 - 137
  • [9] Fair sharing in cooperative games
    E. R. Smol’yakov
    [J]. Doklady Mathematics, 2008, 77 : 153 - 157
  • [10] Cooperative software multithreading to enhance utilization of embedded processors for network applications
    Albrecht, C
    Hagenau, R
    Döring, A
    [J]. 12TH EUROMICRO CONFERENCE ON PARALLEL, DISTRIBUTED AND NETWORK-BASED PROCESSING, PROCEEDINGS, 2004, : 300 - 307