Ph.D., Colorado State University, TBD
High Performance Computing (HPC) and real-time computing are often considered as separate disciplines. With the ever increasing computational requirements of soft real-time applications such as web services, multi-target tracking, software build systems, and image processing there is a growing need to apply tools from both HPC and real-time computing to solve these challenging problems. HPC has traditionally been dominated by scientific computing applications which are usually large jobs that takes hours to days to complete on very large supercomputers. The vast amount of work needed to complete these jobs has fueled much research in schedulers, some of which are data location aware. The makespan on an HPC job is usually minimized but it is not as nearly stringent a requirement as for the soft real-time systems. One can think of soft real-time systems as scaled versions of HPC systems. The amount of data processed is orders of magnitude smaller for real-time systems but the allowed latency or processing time is orders of magnitude smaller then HPC systems. In either case the computational requirements are similar. In fact the hardware similarity between a HPC system and modern data centers is astounding.
I seek to understand the relationship between these two types of systems in terms of the best way to control the systems and structure the algorithms that run on these systems.