Good news --- there's no end of research projects :-) First, I'll pass down some advice: don't create a new programming language, we don't need another language. Okay, now some topics off the top of my head:
- tools: static analysis (find errors, identify parallelism in sequential code, ...), run-time analysis to detect errors, debuggers, profilers that can tell us about power usage / cache effectiveness / multicore effectiveness
- rethinking standard algorithms for parallelism, caching, power usage --- e.g. what's the best sort with regards to caching? power usage? Parallelism? This is done, but lots of other algs to revisit
- compiler optimizations for power? caching? parallelism?
- can we make transactional memory practical? What are other new, novel ideas to add to existing languages?
- we have threads, futures, and tasks. What's the next imperative language extension? What about GPUs? Many-core where we have heavy-weight CPU cores and lighter-weight (aka power-friendly) ARM-like cores?
- education? When and how to teach all this?
And this is just parallel processing from the single-machine core perspective. What about multi-machine parallelism, aka HPC? Exascale? HPC in the cloud? Oh gosh, there's no end of work to do, which is what makes it so exciting...
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur Msdn Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die Msdn Website verlassen.