The Future of Workload Management
The essayist Paul Valery once quipped, “The trouble with our times is that the future is not what it used to be.” Surely, there is truth in that. The future of workload management continues to evolve; it is definitely not what it used to be.
As we look toward the future of workload management, we see three major trends: application insight, big data awareness, and HPC clouds. The trends are inter-related and we’ll discuss each in turn.
First, workload managers need to have greater insight into the applications they run. The more deeply the workload manager can understand the workload, the more efficiently it can schedule, manage, and adapt the computing environment. Today’s workload managers understand basic workload requirements and can track an application’s progress. However, there is more that can be done. In the future, we’ll see more emphasis on understanding an application’s purpose and key metrics. If the workload manager understands the application’s current and future needs, it can make much more optimal decisions. Metrics such as I/O bandwidth, memory allocation, storage space, CPU and GPU cycles, etc., all help the workload manager understand an application in order to optimally manage it.
Application-specific metrics, such as simulations per second, genes matched per second, etc., are more important than generic CPU and memory metrics. They best describe an application’s performance. By monitoring these application-specific metrics, the workload manager can understand how system-level variables impact application performance. For instance, an application-aware workload manager could observe that a particular application’s performance degrades substantially when it runs at the same time as a another specific application. Armed with this data, the workload manager can make sure those two conflicting applications do not run at the same time.
Big Data Awareness
Closely related to the application insight trend, we see increasing demand for big data awareness. Modern scientific computing operates on massive amounts of data, far more than ever before. Managing this flood of data is difficult; the future of workload management depends on being able to efficiently manage it.
Specifically, big data applications require I/O performance that is appropriate to the application. With multiple applications running simultaneously in a cluster, the workload manager needs to understand and satisfy the I/O needs of each application. A Big Data-aware workload manager will be able to schedule the various applications, such that their I/O demands do not conflict, ensuring that the required storage performance is available when it is needed.
Workload managers of the future will integrate directly with the storage management system. This will allow the workload manager to control the I/O allocation of each application, ensuring that no application monopolizes the I/O bandwidth. When multiple applications are contending for the same physical disk drive, the drive head thrashes between servicing each of the conflicting requests. This data contention can cause a 100-fold decrease in performance. With the workload manager directly managing the storage system, it can remove this thrashing and greatly increase application performance.
I/O performance also heavily depends on data locality. Generally speaking, today’s workload managers treat data as blobs of raw bytes, to be shuffled about with little understanding of their content. In the future, workload managers will increasingly understand the data’s structure and attributes. For example, a future workload manager could understand that a particular application uses structured data made up of small records which are randomly accessed. The workload manager could then allocate more I/O operations per second to that application than to a traditional batch-processing application, which reads sequentially from the disk. By understanding the different I/O needs of the different applications, the workload manager can exploit those factors in their scheduling decisions.
Virtualization and HPC Cloud
Lastly, we predict the continued rise of virtualization and HPC clouds. This is perhaps the biggest future trend for workload management. Historically, virtualization was anathema to high performance computing practitioners. The so-called virtualization tax, or performance penalty caused by virtualization, was too high a price to pay for high-performance workloads.
However, in recent years, this penalty has decreased to the point of being almost negligible for many applications. This trend, combined with virtualization’s greatly increased flexibility, has made virtualization a growing tool in the HPC arsenal. Virtual machines can be easily started, stopped, moved, stored, and altered, and are easier for the workload manager to schedule and control. This increased flexibility results in higher overall system utilization and greater return on investment. As a result, more and more HPC sites are adopting virtualization for a wider variety of workloads.
Taking virtualization to the next level, HPC clouds combine automated machine provisioning with workload management technologies, pay-per-use cost models, and self-service job submission. Instead of manually provisioning nodes for new compute jobs, an HPC cloud automatically provisions the appropriate environment as needed, based on the jobs submitted. These technologies work together to lower costs and increase system utilization.
HPC clouds can be public or private. Public clouds are operated by a third party who provides computing services to the public. Private clouds are operated by a particular HPC site for their own use, typically using hardware they own. Private clouds provide flexibility and cost advantages of the cloud model while still providing the security and control that many HPC users prefer.
HPC clouds increase the accessibility and flexibility of HPC systems. This brings HPC to a wider audience and lowers the overall cost of HPC. As more users take advantage of HPC, the demands become more varied. Tomorrow’s workload managers will have to cope with these realities, dealing with more users and a wider variety of workloads, both physical and virtual.
The Future Is Not Static
As Valery intimated, the future is not static. As our world changes, the trends that drive the future change with it. Application awareness, big data, and HPC clouds are changing how we do scientific computing. Workload managers must continue to evolve along with these trends.
About the Author
Chad Harrington manages Adaptive Computing‘s worldwide marketing efforts. Prior to Adaptive, Chad was a strategy consultant, helping companies increase shareholder value. Previously, he was CEO and founder of DataScaler, a database technology company which Oracle acquired in 2010. He has a history of success, holding executive, marketing, and business development roles at companies that were acquired by Symantec, McAfee, Check Point, and Oracle. As an information technology veteran, Chad speaks at industry conferences and in the media about technology trends such as cloud computing, data center architecture, security, and the future of computing. He has appeared on CNN, Marketwatch, Univision, and in other major media outlets. Chad holds a Computer Engineering degree from Brigham Young University.