An Extensible Component-based Approach to Simulation Systems on Heterogeneous Clusters
AuthorHoang, Roger V.
AdvisorHarris, Frederick C.
Computer Science and Engineering
AltmetricsView Usage Statistics
There is an abundance of computing power sitting in computer labs waiting to be harnessed. Previous research in this area has shown promising results networking clusters of workstations together in order to solve bigger problems faster at a fraction of the cost for supercomputer time. There are, of course, challenges to using these sorts of clusters: the communication fabrics linking these machines are not necessarily high-performance, and the differences between individual machines in the cluster require careful load balancing in order to efficiently use them. These problems have only become greater with the introduction of acceleration hardware such as GPUs and FPGAs; however, that hardware also provides even greater computing power at an even lower price point for those that can work around their idiosyncrasies. This dissertation presents an approach to designing software to effectively utilize these heterogeneous computing clusters in a modular, extensible manner. I apply it to the development of a large-scale NeoCortical Simulator(NCS) as well as the engineering of a virtual reality library, caVR.