Title
MISO: An intermediate language to express parallel and dependable programs.
Abstract
One way to write fast programs is to explore the potential parallelism and take advantage of the high number of cores available in microprocessors. This can be achieved by manually specifying which code executes on which thread, by using compiler parallelization hints (such as OpenMP or Cilk), or by using a parallel programming language (such as X10, Chapel or Aeminium. Regardless of the approach, all of these programs are compiled to an intermediate lower-level language that is sequential, thus preventing the backend compiler from optimizing the program and observing its parallel nature. This paper presents MISO, an intermediate language that expresses the parallel nature of programs and that can be targeted by front-end compilers. The language defines u0027cellsu0027, which are composed by a state and a transition function from one state to the next. This language can express both sequential and parallel programs, and provides information for a backend- compiler to generate efficient parallel programs. Moreover, MISO can be used to automatically add redundancy to a program, by replicating the state or by taking advantage of different processor cores, in order to provide fault tolerance for programs running on unreliable hardware.
Year
Venue
Field
2016
arXiv: Distributed, Parallel, and Cluster Computing
Programming language,Computer science,Chapel,Real-time computing,Parallel programming model,Redundancy (engineering),Cilk,Multi-core processor,Distributed computing,Parallel computing,Thread (computing),Compiler,Fault tolerance
DocType
Volume
Citations 
Journal
abs/1608.06171
0
PageRank 
References 
Authors
0.34
1
2
Name
Order
Citations
PageRank
Alcides Fonseca1113.61
Raul Barbosa211019.08