'Thinking DSLs for Massive Visualization' by Leo Meyerovich (2013)

preview_player
Показать описание
From MapReduce to Scipy, domain specific languages are democratizing parallel computing. Their success stems from high-level abstractions that empower developers and guide optimizing compilers. Meanwhile, another revolution in language is gaining steam: program synthesis. Essentially, hardware speed is improving at such a fast rate that we can design smart language features powered by search (e.g., SAT solving) that, on older hardware, would have been unacceptably slow to compile. These two ideas, tiny parallel DSLs and program synthesis, enabled us to build several new kinds of languages. We will describe using them for our most recent one, Superconductor.

Superconductor is a browser-based language for massive interactive visualizations. Initially, Superconductor programs look like the normal HTML5 stack: JSON, CSS, JavaScript, etc. Its power comes from the two above ideas:

- End-to-end Parallel DSLs. For performance, Superconductor compiles different types of high-level yet structured code into new parallel JavaScript extensions. It targets web workers, WebCL, and WebGL to utilize the multicore and GPU hardware in most laptops and now even in phones.

- A Synthesis DSL for Parallel Layout. Today, custom visual layouts such as treemaps are written in JavaScript, which hides parallelism from the compiler. We designed a tractable layout DSL that uses constraints (“attribute grammars”). We’ll show how synthesis powers a new form of parallel programming where programmers can mix explicit and automatic parallelization by invoking our new “schedule sketching” construct.

Leo Meyerovich
UC Berkeley
@lmeyerov

Leo Meyerovich researches system and language design at UC Berkeley and is the lead for the Superconductor big data visualization language. He specializes in parallel browsers, JavaScript security, and the social foundations of programming languages. Earlier, he was the head developer of the Flapjax language for functional reactive web programming, which led to various commercial and open source projects.
Рекомендации по теме
Комментарии
Автор

Interesting talk.
One correction: Moore's law is not about the speed of computers but doubling of transistors in CPUs (which are not the sole determining factor of computer speed).

DavidM_GA
Автор

Amazing, super interesting. Im so curious to try this out

timeyyydaman