The Evolution of Cloud Computing

Servers are probably not near the top of your list for conversation topics nor are they something most people think about. But, it turns out there are some interesting changes happening in server design that will start to have a real world impact on everyone who uses both traditional and new computing devices.

Everything from smart digital assistants to autonomous cars to virtual reality is being enabled and enhanced with the addition of new types of computing models and new types of computing accelerators to today’s servers and cloud-based infrastructure. In fact, this is one of the key reasons Intel recently doubled down on their commitment to server, cloud, and data center markets as part of the company’s evolving strategy.

Until recently, virtually all the computing effort done on servers—from email and web page delivery to high performance computing—was done on CPUs, conceptually and architecturally similar to the ones found in today’s PCs.

Traditional server CPUs have made enormous improvements in performance over the last several decades, thanks in part to the benefits of Moore’s Law. In fact, Intel just announced a Xeon server CPU, the E7 V4, which is optimized for analytics, with 24 independent cores this week.

Recognizing the growing importance of cloud-based computing models, a number of competitors have tried to work their way into the server CPU market but, at last count, Intel still owns a staggering 99% share. Qualcomm has announced some ARM-based server CPUs and Cavium introduced their new Thunder X2 ARM-based CPU at last week’s Computex show in Taiwan but both companies face uphill battles. A potentially more interesting competitive threat could come from AMD. After a several year competitive lull, AMD is expected to finally make a serious re-entry into the server CPU market this fall when their new x86 core, code-named Zen, which they also previewed at Computex, is expected to be announced and integrated into new server CPUs.

Some of the more interesting developments in server design are coming from the addition of new chips that serve as accelerators for specific kinds of workloads. Much as a GPU inside a PC works alongside the CPU and powers certain types of software, new chips are being added to traditional servers in order to enhance their capabilities. In fact, GPUs are now being integrated into servers for applications such as graphics virtualizations and artificial intelligence. The biggest noise has been created by NVIDIA with their use of GPUs and GPU-based chips for applications like deep learning. While CPUs are essentially optimized to do one thing very fast, GPUs are optimized to do lots of relatively simple things simultaneously.

Visual-based pattern matching, at the heart of many artificial intelligence algorithms, for example, is ideally suited to the simultaneous computing capabilities of GPUs. As a result, NVIDIA has taken some of their GPU architectures and created the Tesla line of accelerator cards for servers.

While not as well known, Intel has actually offered a line of parallel-processing optimized chips they call Intel Phi to the supercomputing and high-performance computing (HPC) market for several years. Unlike Tesla (and forthcoming offerings AMD is likely to bring to servers), Intel’s Phi chips are not based on GPUs but a different variant of its own X86-based designs. Given the growing number of parallel processing-based workloads, it wouldn’t be surprising to see Intel bring the parallel computing capabilities of Phi to the more general purpose server market in the future for machine learning workloads.

In addition, Intel recently made a high profile purchase of Altera, a company that specializes in FPGAs (field programmable gate arrays). FPGAs are essentially programmable chips that can be used to perform a variety of specific functions more efficiently than general purpose CPUs and GPUs. While the requirements vary depending on workloads, FPGAs are known to be optimized for applications like signal processing and high-speed data transfers. Given the extreme performance requirements of today’s most demanding cloud applications, the need to quickly access storage and networking elements of cloud-based servers is critical and FPGAs can be used for these purposes as well.

Many newer server workloads, such as big data analytics engines, also require fast access to huge amounts of data in memory. This, in turn, is driving interest in new types of memory, storage, and even computing architectures. In fact, these issues are at the heart of HP Enterprise’s The Machine concept for a server of the future. In the nearer term, memory architectures like the Micron and Intel-driven 3D Xpoint technology, which combines the benefits of traditional DRAM and flash memory, will help drive new levels of real-time performance even with existing server designs.[pullquote]Today’s servers have come a long way from the PC-like, CPU-dominated world of just a few years back. [/pullquote]

The bottom line is that today’s servers have come a long way from the PC-like, CPU-dominated world of just a few years back. As we see the rise of new types of workloads, we’re likely to see even more chip accelerators optimized to do certain tasks. Google, for example, recently announced a TPU, which is a chip they designed (many believe it to be a customized version of an FPGA) specifically to accelerate the performance of their TensorFlow deep learning software. Other semiconductor makers are working on different types of specialized accelerators for applications such as computer vision and more.

In addition, we’re likely to see combinations of these different elements in order to meet the wide range of demands future servers will face. One of Intel’s Computex announcements, for example, was a new server CPU that integrated the latest elements of its Xeon line with FPGA elements from the Altera acquisition.

Of course, simply throwing new chips at a workload won’t do anything without the appropriate software. In fact, one of the biggest challenges of introducing new chip architectures is the amount of effort it takes to write (or re-write) code that can specifically take advantage of the new benefits the different architectures offer. This is one of the reasons x86-based traditional CPUs continue to dominate the server market. Looking forward, however, many of the exciting new cloud-based services need to dramatically scale their efforts around a more limited set of software, which makes the potential opportunity for new types of chip accelerators a compelling one.

Diving into the details of server architectures can quickly get overwhelming. However, having at least a basic understanding of how they work can help give you a better sense of how today’s cloud-based applications are being delivered and might provide a glimpse into the applications and services of tomorrow.

Published by

Bob O'Donnell

Bob O’Donnell is the president and chief analyst of TECHnalysis Research, LLC a technology consulting and market research firm that provides strategic consulting and market research services to the technology industry and professional financial community. You can follow him on Twitter @bobodtech.

11 thoughts on “The Evolution of Cloud Computing”

  1. This is not the author’s doing, but a mainframe is a mainframe is a mainframe. Calling it “the cloud” only serves to set off my BS detector.

    A mainframe is an extremely useful tool. What it isn’t, is personal. For that the user has to own it, and have complete control over it. These things are just a service.

    1. “but a mainframe is a mainframe is a mainframe. Calling it “the cloud” only serves to set off my BS detector.”

      Certain pedants will be very upset with you. The “cloud” runs on servers, which are not mainframes, they are expensive x86 pcs.

      One could argue for a functional definition, that “mainframe” refers to computers running mission critical enterprise apps that must maintain nine nines of uptime, architecture be damned. In which case, yes, most server rooms are filled with mainframes, although I gather servers maintain their uptime numbers not by having each computer be architectured to be ultra reliable but by distributing the work among a cluster of identical machines, with hot swappable replacements always available to take over when one fails.

      Then again, by a strictly functional definition, most cloud computing is actually being done by supercomputers, since you have a building full of computer equipment (x86 boxes, but who cares about the underlying architecture) presenting itself to the world as a single entity (whether that’s “google now” or “dropbox” or some other service over the internet).

      The interesting thing is that while tech pundits keep crowing about how older computer tech is obsolete and overdue for decommissioning, what’s actually happened is that we still have just as many (if not more) large and very large computers as ever — they’re just being assigned jobs that nobody could have imagined back in the 50’s and 60’s when “business computer” meant “mainframe.” We still have computers that fill entire rooms or entire buildings, but instead of doing payroll, they’re simulating galactic collisions or global climate trends or what have you. Meanwhile payroll has been delegated to a tiny time slice on a little blade PC in some rack somewhere, along with a dozen other jobs each running in their own little VM.

      1. Oh, I agree. Not getting too caught up in the exact type of hardware, rather the contemporary performance and role of the hardware. Combine that with client/server and we’re back to a modern version of a dumb terminal.

    2. I’ll admit I’m a bit confused by the terminology too.

      I think, “Cloud” is a functional term. We used to have servers to which we specifically connected. Then we got clusters, where we connected not to one specific machine, but to one or several within the cluster. Then we got SaaS, where we connected not to machines, but to an app. Now we got Cloud, where we connect to bundles of hardware/software/data with no real conscious action (and no choice nor ability to edit/optimize…).
      From the provider point of view, things have evolved from a single machine, to several homogeneous ones, to heterogeneous ones, to not caring about underlying machines but about provided services.
      Whether those run on mainframes, x86 servers, or a raspberry pi at home is irrelevant.

      This kinda mirrors what’s been happening at the device level: from accessing the bare hardware (POKEing a pixel on), to asking a driver to do it, to asking an API, to letting frameworks handle all I/O with a high level of abstraction “My app has an area that displays a picture, a menu, needs 2 input fields, and a couple of buttons, put that were appropriate, redraw as needed”.

      Fun times !

  2. Yes, there are clusters amd there are clouds of clusters. There main thing about UI for the clusters is a water that drops from the bottom of the cluster. It drops and drops till it rains mice and then there are many puddles for the children to collect in holy buckets.

  3. Hi there, just became alert to your blog through Google, and found that it is really
    informative. I am going to watch out for brussels. I’ll be grateful if you continue this in future.

    Many people will be benefited from your writing.
    Cheers!

Leave a Reply

Your email address will not be published. Required fields are marked *