Retrofitting parallelism onto ocaml

KC Sivaramakrishnan, S Dolan, L White… - Proceedings of the …, 2020 - dl.acm.org
OCaml is an industrial-strength, multi-paradigm programming language, widely used in
industry and academia. OCaml is also one of the few modern managed system …

Trace contracts

C Moy, M Felleisen - Journal of Functional Programming, 2023 - cambridge.org
Behavioral software contracts allow programmers to strengthen the obligations and
promises that they express with conventional types. They lack expressive power, though …

Automatic parallelization: Executing sequential programs on a task-based parallel runtime

A Fonseca, B Cabral, J Rafael, I Correia - International Journal of Parallel …, 2016 - Springer
There are billions of lines of sequential code inside nowadays' software which do not benefit
from the parallelism available in modern multicore architectures. Automatically parallelizing …

Enabling hybrid parallel runtimes through kernel and virtualization support

KC Hale, PA Dinda - ACM SIGPLAN Notices, 2016 - dl.acm.org
In our hybrid runtime (HRT) model, a parallel runtime system and the application are
together transformed into a specialized OS kernel that operates entirely in kernel mode and …

Reflections on the compatibility, performance, and scalability of parallel Python

R Meier, TR Gross - Proceedings of the 15th ACM SIGPLAN international …, 2019 - dl.acm.org
Today's hardware is increasingly parallel, and to increase performance, applications must
be able to use this parallelism. Hence, programming languages must provide the means for …

Parallelization of dynamic languages: synchronizing built-in collections

B Daloze, A Tal, S Marr, H Mössenböck… - Proceedings of the ACM …, 2018 - dl.acm.org
Dynamic programming languages such as Python and Ruby are widely used, and much
effort is spent on making them efficient. One substantial research effort in this direction is the …

Virtual machine design for parallel dynamic programming languages

R Meier, A Rigo, TR Gross - Proceedings of the ACM on Programming …, 2018 - dl.acm.org
To leverage the benefits of modern hardware, dynamic languages must support parallelism,
and parallelism requires a virtual machine (VM) capable of parallel execution—a parallel …

Places: adding message-passing parallelism to racket

K Tew, J Swaine, M Flatt, RB Findler… - Proceedings of the 7th …, 2011 - dl.acm.org
Places bring new support for message-passing parallelism to Racket. This paper gives an
overview of the programming model and how we had to modify our existing, sequential …

Automatic parallelization of pure method calls via conditional future synthesis

R Surendran, V Sarkar - ACM SIGPLAN Notices, 2016 - dl.acm.org
We introduce a novel approach for using futures to automatically parallelize the execution of
pure method calls. Our approach is built on three new techniques to address the challenge …

An evaluation of asynchronous software events on modern hardware

KC Hale, PA Dinda - … on Modeling, Analysis, and Simulation of …, 2018 - ieeexplore.ieee.org
Runtimes and applications that rely heavily on asynchronous event notifications suffer when
such notifications must traverse several layers of processing in software. Many of these …