我希望这是正确的问题[1],但我在这里阅读了很多关于其他主题的好评,所以我只想问。目前我正在为我的论文(我认为非德国国家的博士学位)寻找一个主题,这必须要做并行性或并发性等等。但是否则我可以自由地选择我的论文我对此感兴趣。所有使用GPU的东西都不合理,因为我的同事已经研究过这个主题,我们想为我做点别的事情:)
所以,神奇的问题是:你认为这个领域有什么有趣的话题?就个人而言,我对并行函数式编程语言和虚拟机感兴趣,但我会说已经完成了许多工作或者正在积极研究(例如在Haskell社区中)。
我非常感谢帮助我指出其他有趣的话题。
祝你好运, 迈克尔
PS:我已经看过https://stackoverflow.com/questions/212253/what-are-the-developments-going-on-in-all-languages-in-parallel-programming-area,但没有很多答案。
[1]我已经在http://lambda-the-ultimate.org问过了,但遗憾的是回复不如预期的那么多。
答案 0 :(得分:7)
答案 1 :(得分:6)
另一个研究领域是自动并行化。也就是说,给定一系列指令S0..Sn,得出多个序列,以较少的步骤执行相同的工作。
答案 2 :(得分:5)
Erlang编程!
答案 3 :(得分:3)
从头到尾:
负载均衡&如何实现最佳并行化水平。我认为这对于博士来说可能是一个非常好的起点,因为在这里你可以提出新的方法并将其与手中的实际值(步骤数 - 已经提到的,CPU使用率,内存使用量等)进行比较,或者针对特定的算法或一组任务(例如图像处理)。
并行垃圾收集。有很多算法可供收集,有很多算法可以在内存中显示对象。例如,Haskell社区最近开展了一项关于Parallel GC的工作:http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel-gc/index.htm 再一次,有一种很好的方式来呈现您的结果并与其他人进行比较,它最终为您提供了灵活性 - 您可以稍后关注并发数据结构,或同步基元或算法等。
答案 4 :(得分:2)
可能你现在已经拥有博士学位了;)。无论如何:我想到了大规模并行系统的容错能力。
答案 5 :(得分:1)
并行处理和规则引擎都是商业/工业计算领域的高可见性主题。那么,如何看待Rete算法的并行实现(介绍性描述here和here),许多商业商务规则引擎下的基础?是否有建立Rete网络的技术 哪个更适合并行化?是否可以将“vanilla”Rete网络重构为可以并行执行的多个网络?等
答案 6 :(得分:1)
并行友好的通用应用程序功能。目前,并行性一直主要集中在科学计算和编程语言上,而不是消费者应用程序或消费者应用程序友好特性/数据结构/设计模式,这些在多核心世界中非常重要。
答案 7 :(得分:1)
你提到了Haskell,你肯定偶然发现Data Parallel Haskell。由于大数据分析最近是个大词,并且由于地图/减少利基过度拥挤,我认为DPH是一个很好的研究领域。