Parrot
Citations Over TimeTop 1% of 2013 papers
Abstract
Multithreaded programs are hard to get right. A key reason is that the contract between developers and runtimes grants exponentially many schedules to the runtimes. We present Parrot, a simple, practical runtime with a new contract to developers. By default, it orders thread synchronizations in the well-defined round-robin order, vastly reducing schedules to provide determinism (more precisely, deterministic synchronizations) and stability (i.e., robustness against input or code perturbations, a more useful property than determinism). When default schedules are slow, it allows developers to write intuitive performance hints in their code to switch or add schedules for speed. We believe this "meet in the middle" contract eases writing correct, efficient programs.
Related Papers
- → Betting Against Hard Determinism(2008)6 cited
- → Should Reasoning Embarrass the Determinist?(1973)1 cited
- Cornering 'Free Will'(2011)
- The Problems of Freedom Will and Determinism in the Light of Pai-chang's Fox(2004)
- → Types of Determinism(1970)