Most of his research and teaching involves parallel computing of some form: design of scalable algorithms and data structures; applications to numerous scientific problems such as a large multidisciplinary team modeling space weather or a small interdisciplinary group doing imputation on datasets of social preferences; and performance analysis, both experimental and analytical. These projects have used a variety of computer architectures, ranging from tens to hundreds of thousands of cores. He also works on algorithms for abstract fine-grain parallel computer models motivated by concerns such as time/number-of-processors/peak-power tradeoffs and the constraints imposed by the fact that computation is done in 2- or 3-dimensional space. Further, he develops serial algorithms for optimizing adaptive sampling problems such as adaptive clinical trials, algorithms for isotonic regression, and various other computer science problems.
Research AreasAlgorithms and Codes
Data; Statistics and Stochastic Methods
High Performance Computing