Scheduling Parallel Functional Programs

Subscribers:
344,000
Published on ● Video Link: https://www.youtube.com/watch?v=9lkwkIi5KoU



Duration: 1:06:21
123 views
1


Parallelism abounds! To continue to improve performance, programmers must use parallel algorithms to take advantage of multi-core and other parallel architectures. Functional languages allow programmers to express many parallel algorithms concisely. With a deterministic semantics, a functional language also allows programmers to reason about the correctness of parallel programs independently of the language implementation. Despite this, the performance of these programs still depends heavily on the language implementation and especially on the choice of scheduling policy. In some applications, this choice has asymptotic effects on space use. In this talk, I will present some of my recent work on a parallel functional programming language. At the core of this work is a cost semantics that allows programmers to reason about the performance of parallel programs and in particular about their use of space. This cost semantics is the basis for a suite of prototype profiling tools. These tools enable programmers to simulate and visualize program execution under different scheduling policies. This cost semantics also provides a specification for an implementation of the language. I will describe my implementation, a parallel extension of MLton, and relate some initial results. These results show good parallel speedups for several applications and that program performance reflects the predictions made by my profiler.




Other Videos By Microsoft Research


2016-09-07MSPAC Discussion and Book Signing with Senator John Kerry and Teresa Heinz Kerry
2016-09-07Mark-Region and Other Advances in Garbage Collection
2016-09-07The Medea Hypothesis: Is Life on Earth Ultimately Self Destructive?
2016-09-07WaveScope: Stream Programming on Heterogeneous Wireless Devices
2016-09-07Bags of words: the search engine
2016-09-07Intrinsic Robustness of the Price of Anarchy
2016-09-07Reach for A*: an Efficient Point-to-Point Shortest Path Algorithm
2016-09-07ABC-MART: Recent Improvements in Boosting, Trees and Classification Algorithms
2016-09-07Intelligent Fault Notification through Understanding Developer Behavior
2016-09-07Contextual Link Analysis for Web Search
2016-09-07Scheduling Parallel Functional Programs
2016-09-07Working at the boundaries: how intersections can inform innovation
2016-09-07Denial of Service or Denial of Security? How Attacks on Reliability can Compromise Anonymity
2016-09-07Chemotaxis. Do we understand it all?
2016-09-07Graphical Models and Statistical Mechanics in Communications and Storage Applications
2016-09-07Model Abstraction Methodology for Temporal Behavior Analysis of Multiscale Biological Systems
2016-09-07Active Learning with Model Selection in Linear Regression
2016-09-07Human-Centered Home Network Research at Georgia Tech
2016-09-07Imitating the immune system
2016-09-07The Human Experiment: Two Years and Twenty Minutes Inside Biosphere 2           
2016-09-07Structural Abstraction of Software Verification Conditions



Tags:
microsoft research