{"id":20622342,"url":"https://github.com/smoeding/usl","last_synced_at":"2025-04-15T12:33:42.626Z","repository":{"id":6467558,"uuid":"7707404","full_name":"smoeding/usl","owner":"smoeding","description":"Analyze system scalability with the Universal Scalability Law","archived":false,"fork":false,"pushed_at":"2022-09-25T11:36:35.000Z","size":663,"stargazers_count":36,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-04-19T11:06:16.840Z","etag":null,"topics":["r","scalability","universal-scalability-law","usl"],"latest_commit_sha":null,"homepage":"","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smoeding.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-01-19T19:05:26.000Z","updated_at":"2023-12-07T15:38:29.000Z","dependencies_parsed_at":"2022-07-25T22:18:34.282Z","dependency_job_id":null,"html_url":"https://github.com/smoeding/usl","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smoeding%2Fusl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smoeding%2Fusl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smoeding%2Fusl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smoeding%2Fusl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smoeding","download_url":"https://codeload.github.com/smoeding/usl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249072469,"owners_count":21208191,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["r","scalability","universal-scalability-law","usl"],"created_at":"2024-11-16T12:22:22.244Z","updated_at":"2025-04-15T12:33:42.607Z","avatar_url":"https://github.com/smoeding.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Analyze system scalability with the Universal Scalability Law\n\n[![R-CMD-check](https://github.com/smoeding/usl/workflows/R-CMD-check/badge.svg)](https://github.com/smoeding/usl/actions/)\n[![codecov](https://codecov.io/gh/smoeding/usl/branch/master/graph/badge.svg)](https://app.codecov.io/gh/smoeding/usl/)\n\nThis is an R package to analyze system performance data with the Universal Scalability Law.\n\nThe Universal Scalability Law (USL) was developed by Dr. Neil J. Gunther. It can be used to analyze system performance data in order to learn more about the scalability limitations of the system.\n\nDetails are presented in the book *Guerrilla Capacity Planning* ([doi:10.1007/978-3-540-31010-5](http://dx.doi.org/10.1007/978-3-540-31010-5)) and on the [authors website](http://www.perfdynamics.com/).\n\n## Example\n\nHere is an example for the scalability analysis of a Sun SPARCcenter 2000 in the SPEC SDM 91 benchmark. The data used is available for download from the [SPEC website](http://www.spec.org/osg/sdm91/results/results.html) and also included as a demo dataset.\n\n```R\nlibrary(usl)\n\n# Load data from the SPEC SDM91 benchmark\ndata(specsdm91)\n\nspecsdm91\n\n# Analyze \"throughput\" by \"load\" for the \"specsdm91\" data\nusl.model \u003c- usl(throughput ~ load, specsdm91)\n\n# Show a model summary including scalability coefficients\nsummary(usl.model)\n\n# Predict the location of the maximum in the scalability function\npeak.scalability(usl.model)\n\n# Plot original data and computed scalability function\nplot(specsdm91, pch=16)\nplot(usl.model, col=\"red\", add=TRUE)\n```\n\nThe ```summary``` command returns the following output:\n\n```\nCall:\nusl(formula = throughput ~ load, data = specsdm91)\n\nEfficiency:\n   Min     1Q Median     3Q    Max\n0.0876 0.1626 0.2860 0.5624 0.7211\n\nResiduals:\n   Min     1Q Median     3Q    Max\n -81.7  -48.3  -25.1   29.5  111.1\n\nCoefficients:\n         Estimate  Std. Error  t value  Pr(\u003e|t|)\nalpha   0.0277285   0.0091217     3.04    0.0384  *\nbeta    0.0001044   0.0000199     5.25    0.0063  **\ngamma  89.9952330  14.2134894     6.33    0.0032  **\n---\nSignif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1\n\nResidual standard error: 82.8 on 4 degrees of freedom\n\nScalability bounds:\nlimit: throughput 3246 (Amdahl's asymptote)\npeak:  throughput 1884 at load 96.52\nopt:   throughput 1542 at load 36.06\n```\n\nThe following image shows the plotted output:\n\n![SPEC SDM91 scalability function](https://i.postimg.cc/mkRctbLw/specsdm91.png \"SPEC SDM91 scalability function\")\n\n## Installation\n\nThe package is available from CRAN. Use the following command to install the package from the repository:\n\n```R\ninstall.packages(\"usl\")\n```\n\n## Documentation\n\nIn addition to the package documentation there is also a package vignette available. Install the package and use the following command to open the vignette:\n\n```R\nvignette(\"usl\")\n```\n\nThe vignette is also available from CRAN: \u003chttps://CRAN.R-project.org/package=usl/vignettes/usl.pdf\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmoeding%2Fusl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmoeding%2Fusl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmoeding%2Fusl/lists"}