Seminar titled “A New Paradigm for Parallel Programming” was held at IICT on 18th March, 2017 at 3:30PM. The speaker is Muhammad Nur Yanhaona, PhD who completed his bachelor study in Computer Science & Engineering from Bangladesh University of Engineering & Technology (BUET) in 2007. Dr. Yanhaona did both his Master’s and PhD studies from University of Virginia (UVA) in the US and has recently returned to Bangladesh. His earlier research interests include bioinformatics, distributed systems, and distributed AI; but his most recent work focuses on new parallel programming languages and techniques – the topic of his PhD thesis. Currently he is actively collaborating with this PhD adviser, Professor Andrew Grimshaw, to advance a new parallel programming paradigm for high-performance computing.
As increasing parallelism is the new norm for hardware performance improvement, parallel programming has become an issue for more programmers now, not just for high-performance scientific computing developers. However, despite the heightened interest towards parallel computing in recent years; writing efficient, portable parallel applications remains a challenge, in particular, in the presence of increasingly heterogeneous architectures. The predominant way of parallel computing is to extend a sequential language with low-level parallelization primitives. These primitives are platform specific, difficult to combine, and often error-prone. Recent high-level language-based alternatives to these tools struggle to perform well and lack in portability also. Our research offers a radically new paradigm for parallel programming that strikes a balance between existing platform specific and hardware agnostic approaches. The paradigm lets a program’s logic be expressed over a generic machine abstraction, called PCubeS, to enable portability. The language counterpart, called IT, enables reasoning about hardware features in all aspects of programming but emphasizes on separation of concerns and uses a declarative syntax so that program efficiency can be achieved productively. This talk provides an overview of our new paradigm and discusses how it addresses the challenges that confront the programmers of contemporary parallel machines and enables what we call the Seven P’s: portable, people productive, predictable, and performant parallel programs.