Computing power needs have grown significantly since the internet boom of 2000’s One major factor has been the explosion of data that has occurred over the past two decades.

The amount of data being generated and stored has increased dramatically in recent years due to a number of factors, including the proliferation of internet-connected devices, the growth of social media and online platforms, and the increasing reliance on data-driven decision-making in businesses and organizations.

The increase in demand for data subsequently led to a corresponding increase in the need for computing power to process, store, and analyze this data. In addition, the complexity and size of data sets have also increased, which further exacerbates the need for more computing power.

What does it mean to “Compute”

The term “compute” generally refers to the process of using a computer to perform calculations or operations on data. It can also refer to the ability of a computer or other device to perform these calculations and operations.

In the context of computing, the term “compute” is often used to describe the processing power of a computer or device. For example, a computer with a high level of computing power would be able to perform complex calculations and operations quickly and efficiently.

In layman’s terms, computing is the process that happens in between the input and output of data, and the more complex the data, the more resources you need. The ability to process or compute input data to output data is called computing power.

Computing Hardware

In computers, the CPU or Central Processing Unit is responsible for converting data inputted or received, to output data. Over the history of computers, advances in technology have led to significant improvements in computing resources and consequently in the processing powers of computers or CPUs.

Artificial intelligence (AI) systems can require a significant amount of computing power, depending on the complexity of the tasks they are designed to perform.

According to the 2019 Stanford AI Index report, the computing power used in artificial intelligence (AI) and machine learning (ML) applications followed Moore’s Law closely until around 2012, after which the required computing power has been doubling approximately every three and a half months

The central processing unit (CPU) and the graphics processing unit (GPU) are no longer able to keep up with the rapid demand for machine learning (ML). In order to address this challenge, Google introduced the Tensor Processing Unit (TPU) in 2016.

By combining Googles TPU processor with Virtual machines (essentially a software-based emulation of a physical computer that can run its own operating system (OS) and applications, just like a physical computer) made it possible to scale computing resources to meet the demands of ML requirements by providing access to a virtually unlimited amount of computing power and storage on demand.

What is compute Engine then?

For the sake of simplifying, compute engine is just a virtual processing unit. A very big one, which allows you to decide how much power you need to ensure you only use what you need

Picture of Asian man working on servers
Picture of Asian man working on servers

When choosing the make use of Google Clouds Compute Engine you can configure several options :

  • Machine type: You can choose the type of VM that you want to use, which determines the number of virtual CPUs (vCPUs) and amount of memory that the VM has. There are various machine types available, ranging from small VMs with a single vCPU and a few GB of memory, to large VMs with many vCPUs and hundreds of GB of memory.
  • Operating system: You can choose the operating system (OS) that you want to run on the VM. Compute Engine supports a wide range of OSes, including various versions of Linux (such as CentOS, Debian, and Ubuntu) and Windows.
  • Disk type and size: You can choose the type of disk that you want to use for the VM’s boot disk (which contains the OS) and any additional disks that you want to attach to the VM. You can also specify the size of the disks.
  • Networking: You can specify the network that you want the VM to be connected to, and you can also choose whether to assign a public IP address to the VM.
  • Preemptibility: You can choose to create a preemptible VM, which is a type of VM that can be terminated by Compute Engine if it needs the resources for other workloads. Preemptible VMs are generally less expensive than non-preemptible VMs, but they are not suitable for workloads that require a high level of availability.