HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Shared memory parallelism in Julia | Kiran Pamnany | Cambridge Julia Meetup (May 2018)

The Julia Programming Language4 HN recommenders · recommended in 3 months, 2018-2019
YouTube
7K views · 8 years ago · talk · dated

Kiran Pamnany's Cambridge Julia Meetup talk on Julia's shared memory parallelism and its new task scheduler. It argues that fork-join and work-stealing models nest poorly and presents depth-first scheduling for composable parallelism.

Recommended in Julia threading threads as an insightful, simple explanation of the new task scheduler.

Software performance & optimizationPython, Ruby & scripting languagesOperating systems & kernels#julia#multithreading#taskscheduler#composableparallelism#hpc

5 comments from Hacker News

@oconnor6632019 · in “Julia v1.3”

Does the Rust Rayon library have the issue the speaker was describing, where parallel inner loops mostly get executed serially once an outer loop is parallelized? (I assume it does, from its Cilk heritage?) Are there workarounds for when that is a problem? Edit: Dumb mistake on my part. I was looking at the video linked in the top comment ( ▶ this video ) and then I came back to this thread and thought it was the topic.

CitesView on HN
@falkaer2019 · in “Julia v1.3”

By far the most interesting part of this release is the new multi-threading features, I recommend reading link for an overview, and watching ▶ this video for a talk about some unique stuff that's being worked on with Julia's multi-threading (though the depth-first scheduling is not in 1.3 afaik).

RecommendsView on HN
@StefanKarpinski2019 · in “Composable multi-threaded parallelism in Julia”

Consider a machine with N cores running a program which spawns N parallel tasks, each of which in turn spawns N parallel tasks. Which subtasks do the cores work on initially? If it's the first subtask of each top-level task, that's breadth-first scheduling. If it's all N subtasks of the first top-level task, that's depth-first scheduling. The latter is better for high-performance computing because it tends to be the lower level libraries that are really carefully tuned to make optimal use of the machine (think BLAS/FTT/parallel sum/prefix sum). Previously it was unknown how to implement this kind of scheduling efficiently. See this talk by Kiran Pamnany for more details: ▶ this video

RecommendsView on HN
@boromi2018 · in “Julia parallel task runtime (WIP)”

checkout ▶ this video which explains the new features of the task scheduler in a simple fashion. Basically Julia is employing a new algorithm to schedule tasks, where traditional methods would get stuck/blocked. Essentially, if you run a job with parallel tasks and one of the threads finishes, it's extremely difficult to schedulate the free thread, since the data may still be used by the other threads that are busy; thus you need to have clever way to determine how to allocate computational resources. Julia is implementing results of a new paper on how to optimally do this.

RecommendsView on HN
@jrevels2018 · in “Julia parallel task runtime (WIP)”

This work has been a monumental collaborative effort and I think the eventual outcome will be pretty spectacular. I gave a talk at an MIT Julia meetup a few months ago that the author of this PR also spoke at; I found his talk to be an insightful overview of this work: ▶ this video

RecommendsView on HN
Introduction to Julia - Part 1 | SciPy 2014 | David Sanders1:01:04

Introduction to Julia - Part 1 | SciPy 2014 | David Sanders

Enthought
80K views • 12 years ago
APL at Julia's Speed | Shashi Gowda | JuliaCon 20168:34

APL at Julia's Speed | Shashi Gowda | JuliaCon 2016

The Julia Programming Language
3K views • 10 years ago
Keynote. Professor Steven G. Johnson | JuliaCon 201952:40

Keynote. Professor Steven G. Johnson | JuliaCon 2019

The Julia Programming Language
18K views • 7 years ago
JuliaRobotics: Making robots walk with Julia | Robin Deits39:46

JuliaRobotics: Making robots walk with Julia | Robin Deits

The Julia Programming Language
9K views • 8 years ago
Raymond Hettinger, Keynote on Concurrency, PyBay 20171:13:53

Raymond Hettinger, Keynote on Concurrency, PyBay 2017

SF Python
161K views • 9 years ago
Understanding the Python GIL46:10

Understanding the Python GIL

David Beazley
127K views • 14 years ago
The Unreasonable Effectiveness of Multiple Dispatch | Stefan Karpinski | JuliaCon 201935:24

The Unreasonable Effectiveness of Multiple Dispatch | Stefan Karpinski | JuliaCon 2019

The Julia Programming Language
79K views • 7 years ago
Simon Peyton Jones: Data Parallel Haskell1:19:57

Simon Peyton Jones: Data Parallel Haskell

nuACM
28K views • 16 years ago
Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency1:00:40

Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency

Hydra
47K views • 7 years ago
Julia: to Lisp or not to Lisp?1:04:53

Julia: to Lisp or not to Lisp?

European Lisp Symposium
24K views • 10 years ago
Nathaniel J. Smith - Trio: Async concurrency for mere mortals - PyCon 201832:17

Nathaniel J. Smith - Trio: Async concurrency for mere mortals - PyCon 2018

PyCon 2018
30K views • 8 years ago
Clojure Concurrency - Rich Hickey2:32:39

Clojure Concurrency - Rich Hickey

ClojureTV
73K views • 13 years ago
Solid Ground // Saša Jurić35:15

Solid Ground // Saša Jurić

EMPEX Conference
14K views • 9 years ago
Interactive notebooks ~ Pluto.jl | Fons van der Plas | JuliaCon 202023:38

Interactive notebooks ~ Pluto.jl | Fons van der Plas | JuliaCon 2020

The Julia Programming Language
48K views • 6 years ago
Making R run Fast - Jan Vitek1:21:39

Making R run Fast - Jan Vitek

John O'Neill
860 views • 10 years ago
Kilim: Fast, lightweight, cheap message passing in Java.45:11

Kilim: Fast, lightweight, cheap message passing in Java.

Google TechTalks
33K views • 18 years ago
"Outperforming Imperative with Pure Functional Languages" by Richard Feldman34:55

"Outperforming Imperative with Pure Functional Languages" by Richard Feldman

Strange Loop Conference
98K views • 5 years ago
Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure53:56

Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure

jasonofthel33t
119K views • 13 years ago
Jonathan Diegelman - Modeling Spacecraft Separation Dynamics in Julia16:04

Jonathan Diegelman - Modeling Spacecraft Separation Dynamics in Julia

The Julia Programming Language
12K views • 5 years ago
Halide Talk25:52

Halide Talk

Andrew Adams
53K views • 12 years ago