arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1502.05094cs.PL
收藏

观测协作多线程

Observationally Cooperative Multithreading

Christopher A. Stone, Melissa E. O'Neill, Sonja A. Bohr, Adam M. Cozzette, M. Joe DeBlasio, Julia Matsieva, Stuart A. Pernsteiner, Ari D. Schumer

摘要:

尽管对多核计算有着广泛的兴趣,但主流语言中的并发模型通常会导致微妙的、容易出错的代码。观察协作多线程(OCM)是一种新的共享内存并行方法。程序员使用很好理解的协作(即,非抢占式)单处理器的多线程模型。然后,只要结果与协作模型保持一致,OCM就允许线程并行运行。程序员从中受益,因为他们可以在很大程度上顺序推理。剩余的线程间交互远没有其他模型中那么混乱,允许更容易的推理和调试。程序员还可以推迟并发控制机制的选择(例如,锁或事务),直到编写完程序之后,此时他们可以比较并发控制策略并选择提供最佳性能的策略。实现者和研究人员还受益于OCM的不可知性--它提供了一个抽象层次来调查、比较和组合各种有趣的并发控制技术。

英文摘要:

Despite widespread interest in multicore computing, concur- rency models in mainstream languages often lead to subtle, error-prone code. Observationally Cooperative Multithreading (OCM) is a new approach to shared-memory parallelism. Programmers write code using the well-understood cooperative (i.e., nonpreemptive) multithreading model for uniprocessors. OCM then allows threads to run in parallel, so long as results remain consistent with the cooperative model. Programmers benefit because they can reason largely sequentially. Remaining interthread interactions are far less chaotic than in other models, permitting easier reasoning and debugging. Programmers can also defer the choice of concurrency-control mechanism (e.g., locks or transactions) until after they have written their programs, at which point they can compare concurrency-control strategies and choose the one that offers the best performance. Implementers and researchers also benefit from the agnostic nature of OCM -- it provides a level of abstraction to investigate, compare, and combine a variety of interesting concurrency-control techniques.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑