Atomic Computing

Rather than trying to figure out out what exactly that unit will be, we can use observations around the necessary behavior of that unit and extrapolate a framework that defines how that unit must exist.Returning to our three key problems that govern atomic computing (make computing cheaper, making deployments of apps in isolation easier/safer, and making configuring that environment easier), we can look at how other areas in computing are advancing to support solutions to those key problems to help define what the next atomic unit will be.Better Hyperthreading: Making Computing CheaperUnlike Joey, the next major infrastructure computing form factor will learn to efficiently share resources in order to reduce the cost of computingThe next atomic unit of computing needs to make computing significantly cheaper..Just like virtualization made it cheaper to deploy apps on AWS, the next atomic unit needs to reduce the total economic cost associated with deploying a computing workload in order to make an impact and be successful.One area where I believe there is a significantly untapped set of technologies is in multithreading..Multithreading is the process of stretching a computing task across a number of computing cores..It was a necessary development over the last 20 years to figure out how to “divide and conquer” different sub-problems of a computing task as Moore’s Law has begun to slow down, and multithreading today is already used in a number of applications from high performance computing to bitcoin mining.But we really haven’t embraced multithreading broadly across computing..Multithreading is complicated to employ as a software developer, and really requires specialized training to do properly..Even in high performance computing tasks like rendering video games, multithreading is rarely used properly to fully take advantage of modern processors’ multitude of cores — thus ensuring that the superior single-threaded performance of Intel processors continues to dominate in gaming over their AMD counterparts who are otherwise arguably better at multicore processing.This isn’t a technology problem..This is a cultural problem..We need a new generation of developers who natively have “grown up” around multithreaded programming to push forward new computing frameworks that support multithreading and make it easier and more proliferate.Widely proliferate multithreading has the potential to significantly reduce the cost of computing..Superior multithreading at the hypervisor level will allow new atomic units of computing to be deployed and run performently on an already busy virtual environment..The fundamental technology of having multithreading at the hypervisor level already exists..But there are still significant improvements to be made in the hyperthreading framework that governs how this works.A new generation of infrastructure engineers who have grown up around computing platforms where multithreading was normal (i.e.: mobile development and GPU development) will likely bring a new perspective and new technology that reduces the cost of computing for a new atomic computing architecture.Cryptographic Isolation and Improved Provisioning: Making Deployment Safer and EasierWhatever is the next atomic computing form factor needs to simplify its deployment to ensure safety and stabilityThe next atomic computing architecture needs to make deploying isolated computing environments safer and easier..Just like the movement from VMs to containers is celebrated for reducing the complexity of spinning up an isolated computing unit, whatever comes next needs to simplify the complexity of provisioning and atomic computing platform to run a workload.Examining this aspect of atomic computing leads me to question the staying power of serverless computing as we know it today.. More details

Leave a Reply