%0 Conference Proceedings %T Access Annotation for Safe Program Parallelization %+ Department of Computer Science [Rochester] %+ Institute of Computing Technology [Beijing] (ICT) %A Ding, Chen %A Liu, Lei %Z Part 1: Session 1: Parallel Programming and Algorithms %< avec comité de lecture %( Lecture Notes in Computer Science %B 10th International Conference on Network and Parallel Computing (NPC) %C Guiyang, China %Y Ching-Hsien Hsu %Y Xiaoming Li %Y Xuanhua Shi %Y Ran Zheng %I Springer %3 Network and Parallel Computing %V LNCS-8147 %P 13-26 %8 2013-09-19 %D 2013 %R 10.1007/978-3-642-40820-5_2 %Z Computer Science [cs]Conference papers %X The safety of speculative parallelization depends on monitoring all program access to shared data. The problem is especially difficult in software-based solutions. Till now, automatic techniques use either program instrumentation, which can be costly, or virtual memory protection, which incurs false sharing. In addition, not all access requires monitoring. It is worth considering a manual approach in which programmers insert access annotations to reduce the cost and increase the precision of program monitoring.This paper presents an interface for access annotation and two techniques to check the correctness of user annotation, i.e. whether all parallel executions are properly monitored and guaranteed to produce the sequential result. It gives a quadratic-time algorithm to check the exponential number of parallel interleavings. The paper then uses the annotation interface to parallelize several programs with uncertain parallelism. It demonstrates the efficiency of program monitoring by a performance comparison with OpenMP, which does not monitor data access or guarantee safety. %G English %2 https://inria.hal.science/hal-01513782/document %2 https://inria.hal.science/hal-01513782/file/978-3-642-40820-5_2_Chapter.pdf %L hal-01513782 %U https://inria.hal.science/hal-01513782 %~ IFIP-LNCS %~ IFIP %~ IFIP-NPC %~ IFIP-LNCS-8147