期刊文献+

一种动态共享数据结构的并发访问控制分析方法 被引量:1

An analysis approach to concurrent access control for shared mutable data
下载PDF
导出
摘要 共享数据的并发访问控制是并行编程的关键之一,而对动态共享数据结构的细粒度并发访问控制更是其中的难点.针对操作动态数据结构的指针程序,提出一种并发访问控制的分析方法,该方法采用形状图对程序运行时的动态数据结构和指针变量关系建立抽象,通过形状图推导完成对共享单元的访问控制分析.程序员只需要声明指针及指向单元的共享性和数据结构形状特征,编译器利用本文中的方法分析得到共享单元的访问控制点,并添加使用互斥锁进行访问控制的代码. Concurrent access control for shared data is extremely important for parallel programming. And it is challenging to perform fine-grained concurrent access control for mutable-shared data. To address these problems, a novel approach was presented to achieve concurrent access control for concurrent programs with pointers. A shape gi'aph was used to establish the abstract relationship between dynamic data structures and pointer variables in the run time, inferring the synchronization points. Our solution only requires programmers to provide some necessary sharing and shape information of the pointers and the memory cells for program analysis, which produces the synchronized points for each shared memory cell. Then, the compiler generates the mutual-lock-based code in terms of these synchronized points.
出处 《中国科学技术大学学报》 CAS CSCD 北大核心 2011年第2期164-172,共9页 JUSTC
基金 国家自然科学基金(90718026 60928004)资助
关键词 并行编程 程序分析 访问控制 形状图 concurrency programming program analysis concurrent access control shape graph
  • 相关文献

参考文献11

  • 1Saraswat V. Report on the experimental language X10, Version 2.01, Jan. 2010 [EB/OL]. http://x10_lang. org/.
  • 2Lee J N, Palsberg J. Featherweight X10: a core calculus for async-finish parallelism[C]// Proceedings of 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. Bangalore, India: ACM Press, 2010: 25-36.
  • 3Cray Inc. Chapel language specification 0. 785 [EB/ OL]. http://chapel, cs. washington, edu/.
  • 4Allen E, Chase D, Hallett J, et al. The Fortress Language Specification Version1. 0 [ S ]. Sun Microsystems, Inc., 2008.
  • 5Rossbach C J, Hofmann O S, Witchel E. Is transactional programming actually easier? [C]// Proceedings of 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. Bangalore, India: ACM Press, 2010:47-56.
  • 6Zhang Y, Franco J B M, Gao G R. Atomic section: concept and implementation[C]// Proceedings of Mid- Atlantic Student Workshop on Programming Languages and Systems. Newark, USA, 2005: 1-10.
  • 7Cherem S, Chilimbi T, Gulwani S. Inferring locks for atomic sections[C]// Proceedings of ACM SIGPLAN 200g Conference on Programming Language Design and Implementation. Tucson, USA: ACM Press, 2008: 304-315.
  • 8Larus J, Rajwar R. Transactional Memory. Synthesis Lectures on Computer Architecture [M]. California, USA: Morgan &Claypool Publishers, 2007,.
  • 9Cascaval C, Blundell C, Michael M, et al. Software transactional memory: why is it only a research toy? [J]. Queue, 2008, 6(5): 46-58.
  • 10Zhang Y, Wang C, Zhang W, et al. A programming language with resource parallel holding declaration[R]. University of Science and Technology of China, 2010.

同被引文献1

引证文献1

二级引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部