by Satnam Singh, Microsoft Research Cambridge, UK
From the programmer’s perspective the distinction between hardware and software is being blurred. As programmers struggle to meet the performance requirements of today’s systems, they will face an ever increasing need to exploit alternative computing elements such as GPUs (graphics processing units), which are graphics cards subverted for data-parallel computing, and FPGAs (field-programmable gate arrays), or soft hardware.
The current iteration of mainstream computing architectures is based on cache-coherent multicore processors. Variations on this theme include Intel’s experimental Single-Chip Cloud Computer, which contains 48 cores that are not cache coherent. This path, however, is dictated by the end of frequency scaling rather than being driven by requirements about how programmers wish to write software.4 The conventional weapons available for writing concurrent and parallel software for such multicore systems are largely based on abstractions developed for writing operating systems (e.g., locks and monitors). However, these are not the right abstractions to use for writing parallel applications.
Related Links
Microsoft Accelerator



0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
You must log in to post a comment.