Day 1: Monday, April 4, 2022
| Title: Many Real-World Challenges for Effective Programming of Heterogeneous Systems
Speaker: James Reinders (Intel Corporation)
Heterogeneous Systems offer tremendous opportunities through hardware innovation, but this leaves a lot unanswered in regards to ‘how will we program them.’ SYCL is a Khronos standard to extend C++ for Heterogeneous Programming, and is instructive to review in terms of the practical problems inherent in extending programming for heterogeneous systems. James will discuss SYCL in order to expose key challenges, and discuss real unsolved problems that stand in the way of ‘standard parallelism’ solving this in C++ and many other programming languages.
James Reinders is an engineer at Intel focused on enabling parallel programming in a heterogeneous world. James has helped create ten technical books related to parallel programming; his latest book is about SYCL (free download: https://www.apress.com/book/9781484255735). He has had the great fortune to help make key contributions to two of the world’s fastest computers (#1 on Top500 list) as well as many other supercomputers, and software developer tools.
Day 2: Tuesday, April 5, 2022
| Title: Compiler 2.0
Speaker: Saman Amarasinghe (Massachusetts Institute of Technology)
When I was a graduate student a long time ago, I used to have intense conversations and learned a lot from my peers in other areas of computer science as the program structure, systems, and algorithms used in my compiler were very similar to and inspired by many of the work done by my peers. For example, a Natural Language Recognition System that was developed by my peers, with a single sequential program with multiple passes connected through IRs that systematically transformed an audio stream into text, was structurally similar to the SUIF compiler I was developing. In the intervening 30 years, the information revolution brought us unprecedented advances in algorithms (e.g., machine learning and solvers), systems (e.g., multicores and cloud computing), and program structure (e.g., serverless and low-code frameworks). Thus, a modern NLP system such as Apple’s Siri or Amazon’s Alexa, a thin client on an edge device interfacing to a massively-parallel, cloud-based, centrally-trained Deep Neural Network, has little resemblance to its predecessors. However, the SUIF compiler is still eerily similar to a state-of-the-art modern compiler such as LLVM or MLIR. What happened with compiler construction technology? At worst, as a community, we have been Luddites to the information revolution even though our technology has been critical to it. At best, we have been unable to transfer our research innovations (e.g., polyhedral method or program synthesis) into production compilers.
In this talk I hope to inspire the compiler community to radically rethink how to build next generation compilers by giving a few possible examples of using 21st century program structures, algorithms and systems in constructing a compiler.
Saman Amarasinghe is a Professor in the Department of Electrical Engineering and Computer Science at Massachusetts Institute of Technology and a member of its Computer Science and Artificial Intelligence Laboratory (CSAIL) where he leads the Commit compiler group. Under Saman’s guidance, the Commit group developed the StreamIt, PetaBricks, Halide, Simit, MILK, Cimple, TACO, GraphIt, BioStream, CoLa and Seq programming languages and compilers, DynamoRIO, Helium, Tiramisu, Codon, StreamJIT and BuildIt compiler/runtime frameworks, Superword Level Parallelism (SLP), goSLP, VeGen and SuperVectorizer for vectorization, Ithemal machine learning based performance predictor, Program Shepherding to protect programs against external attacks, the OpenTuner extendable autotuner, and the Kendo deterministic execution system. He was the co-leader of the Raw architecture project. Saman was a co-founder of Determina, Lanka Internet Services, Venti Technologies, and DataCebo Corporations. Saman received his BS in Electrical Engineering and Computer Science from Cornell University in 1988, and his MSEE and Ph.D. from Stanford University in 1990 and 1997, respectively. He is an ACM Fellow.
Day 3: Wednesday, April 6, 2022
| Title: Integration, Specialization and Approximation: the “ISA” of Post-Moore Servers
Speaker: Babak Falsafi (EcoCloud, EPFL)
Datacenters are growing at unprecedented speeds building a foundation for global IT services, cost-effective containerized apps and novel paradigms including microservices and serverless computing. At the same time, we are entering a new era in computing where scalability no longer comes from higher density in silicon fabrication processes. Now, more than ever server designers are in search of new avenues to bridge the gap between higher demands for scalability and the diminishing returns in server density. In this talk, I will go over the basic anatomy of system hardware and software in a modern server blade which is primarily derived from the CPU-centric desktop PC of the 80s. I will then present opportunities for a clean slate design of servers based on integration, specialization and approximation as three pillars to enable server scalability in the post-Moore era.
Babak is a Professor and the founding director of EcoCloud at EPFL. His contributions to computer systems include the first NUMA multiprocessors built by Sun Microsystems (WildFire/WildCat), memory streaming integrated in IBM BlueGene (temporal) and ARM cores (spatial), and performance evaluation methodologies in use by AMD, HP and Google PerfKit. He has shown that memory consistency models are neither necessary nor sufficient to achieve high performance in servers. These results led to fence speculation in modern CPUs. His work on workload-optimized server processors laid the foundation for the first generation of Cavium ARM server CPUs, ThunderX. He is a recipient of an Alfred P. Sloan Research Fellowship, and a fellow of ACM and IEEE.