Deadlocks, in which threads wait on each other in a cyclic fashion and can’t make progress, have plagued parallel programs for decades. In recent years, as the parallel programming mechanism known as futures has gained popularity, interest in preventing deadlocks in programs with futures has increased as well. Various static and dynamic algorithms exist to detect and prevent deadlock in programs with futures, generally by constructing some approximation of the dependency graph of the program but, as far as we are aware, all are specialized to a particular programming language.
A recent paper introduced graph types, by which one can statically approximate the dependency graphs of a program in a language-independent fashion. By analyzing the graph type directly instead of the source code, a graph-based program analysis, such as one to detect deadlock, can be made language-independent. Indeed, the paper that proposed graph types also proposed a deadlock detection algorithm. Unfortunately, the algorithm was based on an unproven conjecture which we show to be false. In this paper, we present, and prove sound, a type system for finding possible deadlocks in programs that operates over graph types and can therefore be applied to many different languages. As a proof of concept, we have implemented the algorithm over a subset of the OCaml language extended with built-in futures.
Mon 4 MarDisplayed time zone: London change
11:30 - 12:50 | Compilers and Runtimes for Parallel SystemsMain Conference at Moorfoot Chair(s): Mohamed Riyadh Baghdadi | ||
11:30 20mTalk | Liger: Interleaving Intra- and Inter-Operator Parallelism for Distributed Large Model Inference Main Conference Jiangsu Du Sun Yat-sen University, jinhui wei Sun Yat-sen University, Jiazhi Jiang Sun Yat-sen University, Shenggan Cheng National University of Singapore, Zhiguang Chen Sun Yat-sen University, Dan Huang , Yutong Lu Sun Yat-sen University Link to publication DOI | ||
11:50 20mTalk | A Holistic Approach to Automatic Mixed-Precision Code Generation and Tuning for Affine Programs Main Conference Jinchen Xu Information Engineering University, Guanghui Song Li Auto Inc., Bei Zhou Information Engineering University, Fei Li Information Engineering University, Jiangwei Hao Information Engineering University, Jie Zhao State Key Laboratory of Mathematical Engineering and Advanced Computing Link to publication DOI | ||
12:10 20mTalk | Language-Agnostic Static Deadlock Detection for Futures Main Conference Stefan K. Muller Illinois Institute of Technology Link to publication DOI | ||
12:30 20mTalk | Recurrence Analysis for Automatic Parallelization of Subscripted Subscripts Main Conference Link to publication DOI |