Bitfusion

Bitfusion Documentation

Bitfusion makes it easy, efficient, and elastic to do Deep Learning with GPUs. On this site, you can find our documentation and guides to help you start working with Bitfusion as quickly as possible.

Get Started    

Search results for "{{ search.query }}"

No results found for "{{search.query}}".
View All Results

Architecture

Overview

Bitfusion Boost is a software virtualization layer that allows allows CPU and GPU instances to be pooled together to make GPU infrastructure easier to work with and more cost effective. No application code changes are required in order to take advantage of Boost.

Bitfusion Boost uses a client-server architecture where servers provide the GPU resources for the cluster, and clients are where end user applications are run.

  • Bitfusion Application Instance (Client): The machines where the end user will be running their application. It can be a GPU instance, but it is not required that it be.
  • Bitfusion GPU Instance (Server): The machines which provide GPU resources to the cluster.

There are many flexible configurations which are possible using Bitfusion Boost. However, the most common are: One-to-Many, Many-to-One, and Many-to-Many.

One-to-Many

A single Boost Application Instance utilizes one or more additional GPUs.
In a One-to-Many cluster configuration, a Boost Application Instance utilizes GPUs present in additional instances. The Boost Application Instance may have local GPUs, but is not required to have any. By using Boost, all GPUs in the cluster are presented to the application as a single virtual instance. This configuration is best for maximum performance.

This configuration is also often referred to as Elastic GPUs, where you can augment either a CPU or GPU client instance with one or many additional GPU server instances as needed.

Many-to-One

Several Boost Application Instances share a single GPU instance.
In a Many-to-One cluster configuration there are multiple Boost Application Instances which all utilize a single GPU instance. The Boost Application Instances may run different GPU applications, but by using Boost, the GPU instance can be shared by multiple applications concurrently. This configuration is best for achieving maximum utilization of your GPU instance.

Many-to-Many

Several Boost Application Instances share several GPU instances.
In a Many-to-Many cluster configuration, multiple Boost Application Instances utilize multiple GPU resources. It is a combination of One-to-Many and Many-to-One and allows teams to balance both utilization efficiency and performance.


What's Next

Now that you've got an understanding of the overall architecture of Bitfusion clusters, proceed to Getting Started with AWS to spin up some infrastructure that you can test Boost on!

Getting Started on AWS

Architecture