Skip to content
@SpareCores

Spare Cores

Don't gamble with your cloud costs! Use the Spare Cores data and tooling to make informed decisions.
Spare Cores logo

$ cat /etc/motd

Don't gamble with your cloud costs! Use the Spare Cores data and tooling to make informed decisions.

$ whatis sc

Spare Cores, a Python-based open-source ecosystem, provides a comprehensive and standardized inventory of 5,000+ cloud server types across vendors, and related data-driven tooling to find the optimal instance type for your needs.

$ apropos sc

Spare Cores is an ecosystem, including Python packages, SDKs in other programming languages, CLI tools, public APIs, and web applications, providing:

  • A standardized dataset on instance types across several cloud and other server providers. It includes data on CPU, memory, storage, GPU, networking capabilities, and other features, along with benchmark scenarios and related performance and cost-efficiency metrics.
  • An easy-to-search web application to compare listings, along with detailed product pages for each instance type, including historical on-demand and spot prices, and lists of similar machines.
  • HTTP API and SDKs to search programmatically.
  • A generalized launcher CLI tool to start any instance type at the supported vendors.
  • Python, R, and Rust packages to track the resource utilization of data science and AI workloads, then right-size the instance type to the workload.
  • A SaaS for central resource allocation management for data science and AI teams.

$ man sc.EXAMPLES

Using Spare Cores to find the optimal instance type among many supported vendors might be useful for the below use-cases (among many other):

  • Batch jobs, for example, in Data Science or ETL, often have unusual compute requirements that may not be a good fit for Kubernetes. While binpacking potentially works great for microservices, batch jobs have varying memory and compute needs, as well as long run times. This makes them a better fit to run on dedicated (spot) instances.
  • Digital artists rendering videos using GPUs.
  • One-off scripts requiring a lot of memory (e.g. ad-hoc analysis you cannot run on your laptop).
  • Classic CI/CD tasks, like compiling and testing software, are also common use-cases. This includes scenarios such as utilizing expensive GitHub Action runners on private repositories.
  • Training ML/AI models.

$ poetry search sc-

Spare Cores was kicked off in Q3 of 2023 and gained momentum in 2024, particularly due to the support from NGI Search funding. Below, you can find the references and brief descriptions of all the existing and planned components:

Component References Description
Runner PyPI: sparecores-runner Pulumi wrapper to launch instances across clouds.
Inspector Python tools to inspect and benchmark cloud servers.
Inspector Data Raw hardware information and benchmark results.
Crawler PyPI: sparecores-crawler Cloud vendor API and Inspector Data integrations.
Crawler Data JSON dumps of collected cloud resource information.
Data Wrapper PyPI: sparecores-data Python package for easy integration of the Database.
HTTP API API Programmatic access to the Database.
Web UI WWW Web frontend for human access to the Database.

$ licensecheck

"MPL 2.0 License "CC-BY-SA 4.0 License

$ git shortlog -s -n | sort

NGI Search Open Call 3 beneficiary

Funded by the European Union. Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or European Commission. Neither the European Union nor the granting authority can be held responsible for them. Funded within the framework of the NGI Search project under grant agreement No 101069364.

Popular repositories Loading

  1. sc-runner sc-runner Public

    Spare Cores Runner

    Python 18 1

  2. sc-membench sc-membench Public

    Modern Memory Bandwidth and Latency Benchmarks

    C 18 1

  3. sc-crawler sc-crawler Public

    Pull and standardize data on cloud compute resources.

    Python 15 5

  4. resource-tracker resource-tracker Public

    Resource tracker for batch jobs (such as Metaflow steps).

    Python 11 2

  5. sc-inspector-data sc-inspector-data Public

    Spare Cores Inspector Data

    HTML 9 1

  6. sc-data sc-data Public

    Structured data collected by sc-crawler

    Python 6 4

Repositories

Showing 10 of 16 repositories

Top languages

Loading…

Most used topics

Loading…