What are Grid and Cloud Computing?
In the 90’s, universities like UC Berkeley pioneered the concept of “grid computing”. The idea was to harness the combined computing power of volunteer PCs across the globe to collect information and tackle research problems. By the 2000’s, the academic grid computing system inspired a variant known as “The Cloud”. Today, cloud computing is a common facet of everyday life. Most of us know it as a place where photos, videos, documents, and other memory intensive resources are stored. Businesses can even purchase cloud computing services from major tech companies like Google, Microsoft, Amazon, and Apple. However, cloud computing is not just relegated to renting remote machines: it encompasses workload management, service orchestration, distributed storage, and much more. Cloud computing is how the apps that you use on your devices actually run, and where most internet websites are hosted and deployed.
What is Cloud Computing?
Though on the surface the cloud might just seem like a way to store extra files, the reality is that it supports many modern applications. Imagine a man named Jason living in the year 2004, who wants to keep both Photoshop and Turbo Tax on his PC. Individual computers have space limitations, making it impossible to keep an unlimited number of programs. As a result, Jason has to give up Photoshop to make room for the more practical Turbo Tax. Today, both Photoshop and Turbo Tax are offered through online subscriptions, otherwise known as a “software as a service” (Saas) model. Programs are run and stored on servers, which eliminates the issue of lack of space on a harddrive. Other examples of Saas offerings include Google Docs, Canva, Salesforce, and Gmail.
Popular applications of cloud computing technology include:
- Software as a service (SaaS) – Use applications without storing them on your harddrive. Examples include Photoshop, Google Sheets, and Hubspot.
- Infrastructure as a service (IaaS) – Storage and virtual machines. Examples include Amazon Web Services, Linode, and Rackspace.
- Platform as a service (PaaS) – Used to develop, test, and manage applications. Runtime, middleware, and storage are all handled by the service provider. Examples include Google Cloud, Microsoft Azure, and Amazon Web Services.
How Did Cloud Computing Become Popular?
During the 2000’s, advances in hardware meant that computers became cheaper and faster simultaneously. Regular computers had more storage, and supercomputers now had the ability to contain hundreds of thousands of cores (small CPUs), which boost processing power. It became possible for companies to purchase the many devices required for cloud computing infrastructure. At the same time, scientific research projects began to use more data in simulations, which required more computing power.
The rise of cloud computing was necessary for “Web 2.0”, which refers to websites where people share information with one another, rather than passively consuming content. Examples include social media (Facebook, Twitter, Reddit), image sites (Instagram, Flickr), blogs, video sites (Youtube, Vimeo), and wikis (Wikipedia). “Web 2.0” can be contrasted with the earlier Web 1.0, which was primarily a passive experience. Demand for interactive websites increased demand for cloud computing capabilities.
What is Grid Computing?
The best way to understand cloud computing is to look at its predecessor: grid computing. The two share many similarities. Grid computing is a type of distributed computing, meaning that resources are spread out over long distances rather than housed at the same geographical location. Grid computing gets its name from electrical grids, which share the same structure. In grid computing, devices like servers, personal computers, and workstations can join a cohesive system.
At least one computer, called the “control node”, handles administrative duties. A software known as “middleware” sends instructions to an array of devices known as “grid nodes”. These “grid nodes” can include many different types of hardware (tablets, PCs, smartphones) with various operating systems (Windows, Linux, Android, iOS, etc.).
Powered by Crowds
Unlike traditional computing, devices can be located anywhere in the world. Computing power on a grid might come from:
Grid Node A (an iPhone Pro owned by 33-year-old Gary in Arizona), Grid Node B (an Android tablet owned by 69-year-old Katie in Oklahoma), Grid Node C (a Linux PC owned by 29-year-old Brian in Alaska), and Grid Node D (a Windows laptop owned by 14-year-old Sarah in Amsterdam).
Devices in a grid can share storage capacity, processing power, and network bandwidth. Grids even have algorithms that work around faulty computers, phones, or tablets by redirecting tasks to other parts of the network. A major advantage of grid computing is that it can overcome the limitations of memory, computing power, and I/O capacity typical of personal computers.
Grid vs. Cloud Computing
Because cloud computing evolved from grid computing, it should come as no surprise that they share many similarities. For example, both use coordinated computing resources to process dynamic workloads across time and space. However, there are also key differences. Ian Foster, Director of Data Science and Learning at Argonne National Laboratory, analyzed the systems at length. He defines their differences,
“a Grid: 1) coordinates resources that are not subject to centralized control, 2) uses standard, open, general-purpose protocols and interfaces, and 3) delivers non-trivial qualities of service. Although point 3 holds true for Cloud Computing, neither point 1 nor point 2 is clear that it is the case for today’s Clouds.”
In his paper “Cloud Computing and Grid Computing 360-Degree Compared”, Foster goes on to highlight similarities, explaining, “the vision is the same – to reduce the cost of computing, increase reliability, and increase flexibility by transforming computers from something that we buy and operate ourselves to something that is operated by a third party.”
However, the environment that cloud computing came of age in is wildly different from the circumstances of grid computing. Within the past 20 years, there has been a growing need to analyze massive data. Additionally, major companies like Google, Amazon, and Microsoft have the resources to spend billions of dollars on large-scale systems with hundreds of thousands of interconnected computers. As a result, cloud computing is more robust and widespread, with significant commercial applications.
Another difference is that grid computing is heterogeneous, so computing power can come from a wide variety of different platforms and hardware. Devices that power a grid could be:
An iPhone owned by 13-year-old Stephanie in Michigan, a Dell laptop owned by 43-year-old Darren in West Virginia, an Android tablet owned by 64-year-old Kathy in Florida, and a desktop PC owned by 21-year-old Chris in London.
In contrast, cloud computing is homogenous. Computing power is typically drawn from pre-built, rack-mounted servers with similar or identical hardware capabilities.
The Upside of Grid Computing
What sets grid computing apart from traditional or cloud computing is the sheer volume of devices that are eligible to join a network. Considering the fact that there are almost 12 billion smartphones, tablets, and computers in the world today, the potential computing power of future grids is nearly unlimited. This opens up the possibility of linking devices to create virtual supercomputers. The fastest virtual supercomputer to date are in fact grid computers, and they include:
- The Berkeley Open Infrastructure for Network Computing (BOINC)
- The Great Internet Mersenne Prime Search (GIMPS)
Enhanced computing power allows organizations to tackle problems once thought intractable. A prominent example is The World Community Grid, which has been able to work on projects involving the human genome, the human microbiome, HIV, dengue, muscular dystrophy, cancer, influenza, Ebola, Zika virus, virtual screening, rice crop yields, clean energy, water purification and COVID-19.
The Power of Parallel Processing
Grid computing has an advantage over traditional computing through parallel processing. Traditional computing is powered by single processors (CPUs), which perform operations one step at a time. Though modern devices have multi-core processors, when a core is saturated with processing activities, there’s no room for extra parallelization. Grid computing solves this problem through cross-device distribution.
A Simple Example
As a demonstration, consider the following calculation:
2*4 + 2*7 – 3*2
A desktop PC with a single CPU attacks the problem with a series of sequential steps:
Step 1: 2 times 4, get 8
Step 2: 2 times 7, get 14.
Step 3: 3 times 2, get 6.
Step 4: 8 add 14 minus 6, get 16
A parallel computing paradigm solves the problem more efficiently. Because it has access to multiple processors, it splits the calculation into parts and works on them simultaneously.
As a result, it finds the solution in two steps instead of four:
- Processor A (an iPhone Pro owned by 33-year-old Gary in Arizona): 2 times 4, get 8.
- Processor B (a Microsoft tablet owned by 69-year-old Katie in Oklahoma): 2 times 7, get 14.
- Processor C (a Linux PC owned by 29-year-old Brian in Alaska): 3 times 2, get 6.
Step 2: 8 add 14 minus 6, get 16
Gary’s iPhone works on the first part of the problem while Katie’s Microsoft tablet is on the second part and Brian’s Linux is on the third. The expression “2*4 + 2*7 – 3*2” is divided into multiple chunks, which are sent to the processors A, B, and C. The result is that computing in parallel saves time calculating the solution.
What is ByteNite?
Bytenite is both a cloud and a grid computing software. When a business sends ByteNite work to be completed, the task is divided into chunks and sent to devices around the world. This paradigm is typical of grid computing, which allows ByteNite to process work more quickly and complete jobs in parallel. However, when a business makes orders and pays for jobs, they access ByteNite by logging in to an account online. Because the service is offered through the internet (Saas), it is also a form of cloud computing.