  Interactive computing notebooks, such as Jupyter notebooks, have become a
popular tool for developing and improving data-driven models. Such notebooks
tend to be executed either in the user's own machine or in a cloud environment,
having drawbacks and benefits in both approaches. This paper presents a
solution developed as a Jupyter extension that automatically selects which
cells, as well as in which scenarios, such cells should be migrated to a more
suitable platform for execution. We describe how we reduce the execution state
of the notebook to decrease migration time and we explore the knowledge of user
interactivity patterns with the notebook to determine which blocks of cells
should be migrated. Using notebooks from Earth science (remote sensing), image
recognition, and hand written digit identification (machine learning), our
experiments show notebook state reductions of up to 55x and migration decisions
leading to performance gains of up to 3.25x when the user interactivity with
the notebook is taken into consideration.
