CPUs are virtualized
GPUs are next

  1. 1964

    CP-40 virtualizes mainframes

    Early computers, large systems known as mainframes, cost millions of dollars. These systems were far too expensive for a single user, and so were shared across employees within an enterprise. IBM wanted to develop a way for each user to have their own operating system running simultaneously on the mainframe. This project, CP-40, divided one mainframe into many virtual computers that each appeared to be separate but shared the same hardware. Mainframe sales skyrocketed; sharing mainframes made it much easier to justify the price.

  2. 1998

    VMware virtualizes x86

    By this point, virtualization was standard for mainframes, but x86 systems were still allocated as bare metal machines. At Stanford, Mendel Rosenblum's Operating Systems group spun out VMware to virtualize x86. The team used creative techniques to virtualize existing hardware, making virtualization the default.

  3. 2006

    AWS uses virtualization at scale

    Despite this progress, using a server still meant purchasing and deploying physical hardware. By pooling this infrastructure across many customers, AWS could achieve massive economies of scale. Virtualization was a key enabler of this pooling; physical servers could be shared by several customers. In doing so, AWS proved that virtualization could enable massive economies of scale across fleets of shared servers.

  4. 2022–present

    Thunder Compute virtualizes GPUs

    GPUs are the next frontier of computer hardware, but they aren’t virtualized. Thunder Compute is building the virtualization layer for GPUs. As with early x86 virtualization, the effort began with experimental systems research in 2022 and has since evolved into a company dedicated to bringing GPU virtualization to market. GPUs do not have hardware support for a flexible, general-purpose abstraction layer, so Thunder Compute uses existing abstractions in creative ways to provide one. The benefits are familiar; GPUs become schedulable resources independent of the physical chips beneath them. Over time, we believe most GPUs will be virtualized, just as most CPUs are today.