Back To Schedule
Thursday, November 12 • 10:45am - 11:15am
Reproducible Data Pipelines Using Controlled Effects

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
As the data science and machine learning fields have grown over the past decade, so has the number of data pipelining frameworks which allow users to chain together a DAG of tasks. The types of tasks that one can define are nearly endless. They can range from performing pure computations like calculating the average over a window in a stream of data to performing impure actions such as writing files or executing a database query. While existing data pipelining libraries are powerful, they often suffer from a lack of reproducibility. How can one guarantee that a pipeline is reproducible when it is able to execute arbitrary side effects?

In this talk, we present a new architecture for data pipelining frameworks which promotes reproducibility along with an implementation in Haskell, kernmantle. We discuss how this architecture allows you to explicitly control which effects a pipeline is allowed to execute and how they are executed. Such effects may include file and network access, random number generation, parallel execution, and more. This framework also opens the door for config-time interpretation, which allows a pipeline to be analyzed at load-time, prior to its execution.

avatar for Yves Parès

Yves Parès

Software Engineer, Tweag
I'm Yves Parès, a 30 y.o. software engineer, and I've been on a strict FP-only diet for about 10 years, to the point I now have trouble processing imperative programming.My go-to meal is some closures as a starter, a big stack of monad as the main course and usually a monoid for... Read More →

Thursday November 12, 2020 10:45am - 11:15am PST