University of Illinois at Urbana-Champaign professor Marc Snir acknowledges that multicore parallelism is difficult, and this difficulty can give rise to divergent perspectives. One perspective is that parallel programming is inherently difficult, while another posits that from an intrinsic point of view parallel programming is not substantially tougher than sequential programming, and is impeded by a shortfall of sufficient languages, tools, and architectures. "In this alternative view, different practices, supported by the right infrastructure, can make parallel programming prevalent," Snir reasons. He notes that there are numerous classes of parallelism that are relatively simple to learn, which suggests that hard-to-comprehend code is the result of unstructured, unrestricted interaction between concurrent threads. Although research in languages, tools, hardware, libraries, compilers, and other areas is necessary to make parallel programming easier, Snir says the ultimate solution "will be one that brings together technologies from all these areas to bear on each other." This cannot happen incrementally or reactively, and what is required is interdisciplinary research and the internalization of the co-design concept. Snir says the mainstream systems community must be put into a mindset that sustains research where a clean system slate is an agreeable point of entry.
From the CCC Blog
View Full Article