Font Size: a A A

Study On Program Analysis In Parallel Programming Language With Shard Resource Declaration

Posted on:2011-02-01Degree:MasterType:Thesis
Country:ChinaCandidate:X P FuFull Text:PDF
GTID:2178360308955362Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Nowadays,the way to synchronously access the shared resources with lock in parallel programming is difficult to write and error-prone.The newly atomic region technique make user easily to write ,but software and hardware technology is not yet satisfactory ,and can not completely support its implementation. Our team proposes a new language abstract with synchronization mechanisms,i.e. holding declaration of shared variables. By declaration and use character of shared resource ,it avoid user writing the parallel program with concerete synchronization mechanisms .Therefore , user keep away from the burden that how to access the shared variables with concrete synchronization mechanisms,like as lock and so on,but also the problem that the atomic region must confront.In the paper,we propose the syntax of the shared variable holding declaration and semantic description,and discuss the method that how to create the shared variables access control code utilizing this kind of declaration.On the basis of designed parallel language SPC by our team,the algorithm of computing holding information for iteger-version and pointer-version parallel language are presented in this paper.This paper mainly depicts and discusses the following works:1,designs and implements a shared variable holding regions's dataflow analysis algorithm for integer-version parallel language designed by us,to get all holding regions information of shared variables. The object lifetime algorithm is inter-procedural, flow sensitive and context insensitive, used to compute all holding regions information of shared variables in each parallel block.2,designs and implements a flow-sensitive algorithm to compute intra-procedural definition-use chains in dynamic pointer-linked data structures,like as linked-list,tree,to relate the statements that construct links of linked data structures(i.e. definitions) to statements that might traverse the structures though the links(i.e. uses). This algorithm is inter-procedural, flow sensitive and context insensitive. For each statement S that defines links of linked data structures, the algorithm finds the set of statements that traverse the links which are defined by S. The result will be incorporated into the pointer-version parallel language SPC designed and developed by us. It is used to in charge of accurately analyzing and transforming the parallel program in dynamic pointer-linked data structures.
Keywords/Search Tags:definition-use chains, data-flow analysis, program analysis, parallel language
PDF Full Text Request
Related items