From 60b24cad144c71100fcf2c7ed8ecb885facf4051 Mon Sep 17 00:00:00 2001 From: simonpcouch Date: Wed, 5 Jun 2024 09:05:39 -0500 Subject: [PATCH] start with a simpler example in README --- README.Rmd | 47 ++++++----- README.md | 127 ++++++++++++++++++------------ man/figures/README-plot-mem-1.png | Bin 40942 -> 40094 bytes 3 files changed, 106 insertions(+), 68 deletions(-) diff --git a/README.Rmd b/README.Rmd index 7093219..2e71b2d 100644 --- a/README.Rmd +++ b/README.Rmd @@ -33,16 +33,37 @@ pak::pak("simonpcouch/syrup") ## Example -We'll demo using the package with an (admittedly dependency-heavy) example of tuning a regularized linear model against resamples. First, loading needed packages: +```{r} +library(syrup) +``` + +The main function in the syrup package is the function by the same name. The main argument to `syrup()` is an expression, and the function outputs a tibble. Supplying a rather boring expression: + +```{r} +syrup(Sys.sleep(1)) +``` + +In this tibble, `id` defines a specific time point at which process usage was snapshotted, and the remaining columns show output from [ps::ps()](https://ps.r-lib.org/reference/ps.html). Notably, `pid` is the process ID, `ppid` is the process ID of the parent process, and `rss` is the resident set size (a measure of memory usage). + +The function works by: + +* Setting up another R process `sesh` that queries memory information at a regular interval, +* Evaluating the supplied expression, +* Reading the memory information back into the main process from `sesh`, +* Closing `sesh`, and then +* Returning the memory information. + +## Application: model tuning + +For a more interesting demo, we'll tune a regularized linear model using cross-validation with tidymodels. First, loading needed packages: ```{r load-pkgs, message = FALSE, warning = FALSE} -library(syrup) library(future) library(tidymodels) library(rlang) ``` -Using future to define our parallelism strategy, we'll set `plan(multicore)`, indicating that we'd like to use forking with 5 workers. By default, future disables forking from RStudio; I know that, in the context of building this README, this usage of forking is safe, so I'll temporarily override that default with `parallelly.fork.enable`. +Using future to define our parallelism strategy, we'll set `plan(multicore, workers = 5)`, indicating that we'd like to use forking with 5 workers. By default, future disables forking from RStudio; I know that, in the context of building this README, this usage of forking is safe, so I'll temporarily override that default with `parallelly.fork.enable`. ```{r parellel} local_options(parallelly.fork.enable = TRUE) @@ -58,7 +79,7 @@ dat <- sim_regression(1000000) dat ``` -The main function in the syrup package, `syrup()`, takes an expression as argument: +The call to `tune_grid()` does some setup sequentially before sending data off to the five child processes to actually carry out the model fitting. After models are fitted, data is sent back to the parent process to be combined. To better understand memory usage throughout that process, we wrap the call in `syrup()`: ```{r syrup} res_mem <- syrup({ @@ -69,25 +90,13 @@ res_mem <- syrup({ vfold_cv(dat) ) }) -``` - -The function works by: -* Setting up another R process `sesh` that queries system information at a regular interval, -* Evaluating the supplied expression, -* Reading the queried system information back into the main process from `sesh`, -* Closing `sesh`, and then -* Returning the queried system information. - -The output is a tibble: - -```{r res-mem} res_mem ``` -In this tibble, `id` defines a specific time point at which process usage was snapshotted, and the remaining columns show output from [ps::ps()](https://ps.r-lib.org/reference/ps.html). Notably, `pid` is the process ID, `ppid` is the process ID of the parent process, and `rss` is the resident set size (a measure of memory usage). +These results are a bit more interesting than the sequential results from `Sys.sleep(1)`. Look closely at the `ppid`s for each `id`; after a snapshot or two, you'll see five identical `ppid`s for each `id`, and those `ppid`s match up with the remaining `pid` in the one remaining R process. This shows us that we've indeed distributed computations using forking in that that one remaining R process, the "parent," has spawned off five child processes from itself. -We can plot to get a better sense of how memory usage of these processes changes over time. +We can plot the result to get a better sense of how memory usage of these processes changes over time. ```{r plot-mem, warning = FALSE} worker_ppid <- names(sort(-table(res_mem$ppid)))[1] @@ -102,7 +111,7 @@ res_mem %>% At first, only the parent process has non-`NA` `rss`, as tidymodels hasn't sent data off to any workers yet. Then, each of the 5 workers receives data from tidymodels and begins fitting models. Eventually, each of those workers returns their results to the parent process, and their `rss` is once again `NA`. The parent process wraps up its computations before completing evaluation of the expression, at which point `syrup()` returns. -Note that memory is weird; in the above plot, the total memory allotted to the parent session and its five workers at each ID is not simply the sum of those `rss` values, as memory is shared among them. +Keep in mind: memory is weird. In the above plot, the total memory allotted to the parent session and its five workers at each ID is not simply the sum of those `rss` values, as memory is shared among them. ## Scope diff --git a/README.md b/README.md index 5e86308..8cbc1f2 100644 --- a/README.md +++ b/README.md @@ -28,22 +28,60 @@ pak::pak("simonpcouch/syrup") ## Example -We’ll demo using the package with an (admittedly dependency-heavy) -example of tuning a regularized linear model against resamples. First, -loading needed packages: - ``` r library(syrup) +#> Loading required package: bench +``` + +The main function in the syrup package is the function by the same name. +The main argument to `syrup()` is an expression, and the function +outputs a tibble. Supplying a rather boring expression: + +``` r +syrup(Sys.sleep(1)) +#> # A data frame: 6 × 6 +#> id pid ppid name rss vms +#> +#> 1 1 66822 58354 rsession-arm64 313MB 393GB +#> 2 1 66925 66822 R 110MB 392GB +#> 3 2 66822 58354 rsession-arm64 313MB 393GB +#> 4 2 66925 66822 R 110MB 392GB +#> 5 3 66822 58354 rsession-arm64 313MB 393GB +#> 6 3 66925 66822 R 110MB 392GB +``` + +In this tibble, `id` defines a specific time point at which process +usage was snapshotted, and the remaining columns show output from +[ps::ps()](https://ps.r-lib.org/reference/ps.html). Notably, `pid` is +the process ID, `ppid` is the process ID of the parent process, and +`rss` is the resident set size (a measure of memory usage). + +The function works by: + +- Setting up another R process `sesh` that queries memory information at + a regular interval, +- Evaluating the supplied expression, +- Reading the memory information back into the main process from `sesh`, +- Closing `sesh`, and then +- Returning the memory information. + +## Application: model tuning + +For a more interesting demo, we’ll tune a regularized linear model using +cross-validation with tidymodels. First, loading needed packages: + +``` r library(future) library(tidymodels) library(rlang) ``` Using future to define our parallelism strategy, we’ll set -`plan(multicore)`, indicating that we’d like to use forking with 5 -workers. By default, future disables forking from RStudio; I know that, -in the context of building this README, this usage of forking is safe, -so I’ll temporarily override that default with `parallelly.fork.enable`. +`plan(multicore, workers = 5)`, indicating that we’d like to use forking +with 5 workers. By default, future disables forking from RStudio; I know +that, in the context of building this README, this usage of forking is +safe, so I’ll temporarily override that default with +`parallelly.fork.enable`. ``` r local_options(parallelly.fork.enable = TRUE) @@ -79,8 +117,11 @@ dat #> # predictor_20 ``` -The main function in the syrup package, `syrup()`, takes an expression -as argument: +The call to `tune_grid()` does some setup sequentially before sending +data off to the five child processes to actually carry out the model +fitting. After models are fitted, data is sent back to the parent +process to be combined. To better understand memory usage throughout +that process, we wrap the call in `syrup()`: ``` r res_mem <- syrup({ @@ -91,46 +132,34 @@ res_mem <- syrup({ vfold_cv(dat) ) }) -``` - -The function works by: - -- Setting up another R process `sesh` that queries system information at - a regular interval, -- Evaluating the supplied expression, -- Reading the queried system information back into the main process from - `sesh`, -- Closing `sesh`, and then -- Returning the queried system information. - -The output is a tibble: -``` r res_mem -#> # A tibble: 60 × 6 +#> # A tibble: 47 × 6 #> id pid ppid name rss vms #> -#> 1 1 58494 58354 rsession-arm64 542.34MB 393GB -#> 2 1 59643 58494 R 1.08GB 393GB -#> 3 2 58494 58354 rsession-arm64 542.34MB 393GB -#> 4 2 59643 58494 R 1.23GB 393GB -#> 5 2 59660 59643 R 526.48MB 393GB -#> 6 2 59661 59643 R 489.86MB 393GB -#> 7 2 59662 59643 R 403.3MB 393GB -#> 8 2 59663 59643 R 327.42MB 393GB -#> 9 2 59664 59643 R 179.06MB 393GB -#> 10 3 58494 58354 rsession-arm64 542.34MB 393GB -#> # ℹ 50 more rows +#> 1 1 66822 58354 rsession-arm64 313.41MB 393GB +#> 2 1 66925 66822 R 1.15GB 393GB +#> 3 2 66822 58354 rsession-arm64 313.41MB 393GB +#> 4 2 66925 66822 R 1.31GB 393GB +#> 5 2 66947 66925 R 582.45MB 393GB +#> 6 2 66948 66925 R 552.66MB 393GB +#> 7 2 66949 66925 R 522.47MB 393GB +#> 8 2 66950 66925 R 511.88MB 393GB +#> 9 2 66951 66925 R 410.19MB 393GB +#> 10 3 66822 58354 rsession-arm64 313.41MB 393GB +#> # ℹ 37 more rows ``` -In this tibble, `id` defines a specific time point at which process -usage was snapshotted, and the remaining columns show output from -[ps::ps()](https://ps.r-lib.org/reference/ps.html). Notably, `pid` is -the process ID, `ppid` is the process ID of the parent process, and -`rss` is the resident set size (a measure of memory usage). +These results are a bit more interesting than the sequential results +from `Sys.sleep(1)`. Look closely at the `ppid`s for each `id`; after a +snapshot or two, you’ll see five identical `ppid`s for each `id`, and +those `ppid`s match up with the remaining `pid` in the one remaining R +process. This shows us that we’ve indeed distributed computations using +forking in that that one remaining R process, the “parent,” has spawned +off five child processes from itself. -We can plot to get a better sense of how memory usage of these processes -changes over time. +We can plot the result to get a better sense of how memory usage of +these processes changes over time. ``` r worker_ppid <- names(sort(-table(res_mem$ppid)))[1] @@ -153,9 +182,9 @@ their `rss` is once again `NA`. The parent process wraps up its computations before completing evaluation of the expression, at which point `syrup()` returns. -Note that memory is weird; in the above plot, the total memory allotted -to the parent session and its five workers at each ID is not simply the -sum of those `rss` values, as memory is shared among them. +Keep in mind: memory is weird. In the above plot, the total memory +allotted to the parent session and its five workers at each ID is not +simply the sum of those `rss` values, as memory is shared among them. ## Scope @@ -164,9 +193,9 @@ expression provided to `syrup()` is run in parallel. Said another way, syrup will work just fine with “normal,” sequentially-run R code. That said, there are many better, more fine-grained tools for the job in the case of sequential R code, such as `Rprofmem()`, the -[profmem](https://CRAN.R-project.org/package=profmem) -package, the [bench](https://bench.r-lib.org/) package, and packages in -the [R-prof](https://github.com/r-prof) GitHub organization. +[profmem](https://CRAN.R-project.org/package=profmem) package, the +[bench](https://bench.r-lib.org/) package, and packages in the +[R-prof](https://github.com/r-prof) GitHub organization. Results from syrup only provide enough detail for the coarsest analyses of memory usage, but they do provide an entry to “profiling” memory diff --git a/man/figures/README-plot-mem-1.png b/man/figures/README-plot-mem-1.png index 52c99880c3ade15dc4b0a10bf2ae7125b6777832..f163466f5ca5a625a98ee551307ba4f6a28b6082 100644 GIT binary patch literal 40094 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