多核软件形式化建模、验证及性能评价方法研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
新型多核体系结构的出现及主流化,在满足用户对高性能及低功耗双重需求的同时,对并行程序设计研究也产生了重要的影响,带来了新的挑战。研发有效的方法与工具,支持程序设计人员开发与多核相适应的并行软件是目前多核并行编程领域面临的一个关键技术问题。
     围绕开发正确、高性能和可扩展多核应用程序这一目标,本文首先研究形式化开发多核应用程序的方法,借助Petri网直观的图形表现能力和严密的数学基础,通过定性分析被建模系统的动态行为以及定量计算被建模系统的各种性能指标,有效支持多核程序开发过程中的正确性验证和性能评价;其次,研究多核加速串行程序的方法,提出串行程序并行优化的一种解决思路,通过构造串行程序的程序依赖图,并将此程序依赖图转换为Petri网,借助Petri网丰富的模型分析方法挖掘串行程序内在的并行性,以打造出更多支持多线程并行运行的应用软件,更好地利用多核平台资源。本文主要研究成果包括:
     (1)面向多核多线程并行程序建模的需求,基于Petri网理论,提出多线程程序Petri网模型MTP-PN (Multi-threaded Program Petri Nets)。MTP-PN通过抽象描述多线程程序,使得程序员可以把更多的精力投入到并行程序本身而非其具体实现细节,通过建模多线程程序的结构及功能、线程之间的交互以及对共享资源的访问,能够有效描述出程序的执行流程以及线程之间并发、同步、资源冲突等特性;
     (2)基于MTP-PN,给出验证该模型结构性质以及动态性质的相关算法。通过这些验证算法,能够有效在软件开发的早期发现程序设计流程中是否存在竞争、死锁、活锁等常见并发错误问题,从而减少设计错误、提高软件系统的可靠性;
     (3)针对多核软件开发性能分析与评价的需求,扩展MTP-PN为广义随机MTP-PN。广义随机MTP-PN的构建,不但能够定量分析程序的各项性能指标,也为缓解状态爆炸问题提供了一种解决的途径。基于该模型,评价多核引入对程序性能的影响,以优化软件性能,该方法对指导多核编程具有重要作用:
     (4)给出构建程序依赖图的算法,给出把程序依赖图转换为Petri网的算法。该方法除了可以借助Petri网理论来分析程序运行过程中是否存在冲突和死锁等情况以外,还可以很直观地发现程序运行中的各个模块之间的相互依赖关系,为形式化分析程序模块之间的依赖关系及挖掘串行程序内在并行性打下了基础;
     (5)给出基于库所不变量技术对Petri网进行分析的方法。实例说明该方法可以有效识别非循环并行性,提高并行挖掘的能力,从而为并行优化串行程序提供一种新的实用分析方法。
     本文基于Petri网理论,并根据特定需求进行扩充和改进,不但有效支持了软件开发过程中的正确性验证和性能调整,也为现有串行程序的并行化改造提供了一种新的解决思路。随着多核这一并行结构已经成为桌面系统通用处理器的主流,论文的工作有较好的研究意义和应用价值。
The emergence of multi-core architecture meets the dual demands of high-performance and low-power consumption, but at the same time, it also brings new challenges in the area of parallel programming. Research of effective methods and tools to support multi-core parallel software development is an urgent problem now.
     Aiming at developing proper, high-performance and scalable multi-core applications, this dissertation firstly proposed a formal development method which is based on the theory of petri net. Due to its intuitive graphical expression capability and rigorous mathematical foundation, petri net is particularly suitable for representation and analysis of applications with concurrency, synchronization and conflict features. By qualitatively understanding modeled system's dynamic behavior and quantitatively calculating various performance indicators, this formal method effectively supports validation and evaluation work in the early stage of multi-core software development. Secondly, a method of acceleration sequential applications on mulit-core architecture is also proposed. The purpose of constructing program dependence graph and then transforming it into petri net is to make use of various model analysis methods of petri net. Specifically, the main contents and contributions of this dissertation are as follows:
     (1) Based on the theory of petri net, method of constructing MTP-PN (Multi-threaded Program Petri Nets) is proposed to satisfy the modeling requirements of multi-threaded parallel programming. By an abstract description of multi-threaded program, MTP-PN allows programmer to put more energy into the parallel program itself rather than some specific implementation details. By modeling the structure, the function and threads interaction, MTP-PN can effectively represent multi-threaded program's characteristics as concurrency, synchronization, resource conflicts, etc.;
     (2) Some verification algorithms which are dedicated to validate structure properties and dynamic properties of MTP-PN are proposed. These verification algorithms can help programmer to efficiently detect whether there have competition, deadlock, live lock or other common concurrency errors in the early stage of the program design phase, thereby reducing design errors, and improving the reliability of software systems;
     (3) To satisfy the demand of performance analysis and evaluation of multi-core software, a method of extending MTP-PN to generalized stochastic MTP-PN is introduced. Based on the generalized stochastic MTP-PN, it not only can alleviate the state explosion problem, but also can quantitatively analyze program's various performance indicators;
     (4) Algorithms of constructing program dependence graph, as well as transforming program dependence graph into petri net are proposed. The method of transforming PDG to petri net not only helps programmer to detect conflicts and deadlocks existed in the program, but also helps programmer to easily find interdependencies among various modules of the program;
     (5) Analyzing petri net by P-invariant technology is proposed.Study case showed that this method can effectively identify non-loop parallelism and can improve the efficiency of inherent parallelism identification.This method provides a new practical analytical method of parallel optimization for sequential programs.
     Based on the theory of petri net, this dissertation not only effectively supports the verification and performance evaluation in the early stage of software development, but also provides a new approach on parallel optimization of sequential programs. As the polynuclear structure has been becoming the mainstream of the general-purpose processor, the work of this dissertation has certain research and application value.
引文
[1].任小西,唐玲,张杰,基于OpenMP多线程动态负载均衡技术研究.世界科技研究与发展,2008.30(3):p.281-285.
    [2].何军,王飙,多核处.理器的结构设计研究.计算机工程.33(16):p.208-210.
    [3]. Travor, M. Power:a First-class Architectural Design Constraint, in the 7th International Conference on High Performance Computing.2001.
    [4]. Gonzalez, R. E., Low-power Processor Design.1997.
    [5].哈索,亚历山大.泽埃尔著,SAP译,内存数据管理(第2版).2012,北京:清华大学出版社.
    [6]. Shameem Akhter, J. R.,多核程序设计技术-通过软件多线程提升性能.2007,北京:电子工业出版社.
    [7].张国杰,嵌入式Linux在多核多线程平台上的移植研究与实现,in计算机软件与理论.2008,重庆大学:重庆.
    [8].李晓明,王韬,刘东,杜江凌,走进多核时代.计算机科学与探索,2008.2(6):p.561-570.
    [9].陈国良,孙广中,徐云,龙柏,并行计算的一体化研究现状与发展趋势.科学通报,2009.54(8):p.1043-1049.
    [10]. Gartner. Seven grand challenges facing IT 2008 [cited; Available from: http://www.gartner.com/it/page.jsp?id=643117.
    [11].英特尔亚太研发有限公司,北京并行科技公司,释放多核潜能.2010,北京:清华大学出版社.
    [12].张舒,褚艳利,GPU高性能运算之CUDA.2009,匕京:中国水利水电出版社.
    [13].刘园,多核结构上高效的线程级推测及事务执行模型研究.2007,中国科学技术大学:北京.
    [14].霍玮,李丰,多核体系下的并行程序调试中国计算机学会通讯,2011.7(8):p.57-63.
    [15]. JamesReinders, Intel Threading Building Blocks-Outfitting C++ for Multicore Processor Parallelism.2007:0'Reilly.9-18,25-27.
    [16].许贽,并行开发多核技术下的测试测量应用,in信息科学与工程学院.2009,复旦大学:上海.
    [17].林萌,Hausforff距离多核并行技术及其应用研究,in计算机应用技术.2008,厦门大学:厦门.
    [18]. Clarke E M., W. J. M., Formal Methods:State of the Art and Future Directions. ACM Computing Surveys,1996.28(4).
    [19].古天龙,软件开发的形式化方法.2005,北京:高等教育出版社.
    [20].张广泉,关于软件形式化方法.重庆师范学院学报(自然科学版),2002.19(2):p.1-4.
    [21].万剑怡,孙永强,薛锦云,一种从Z规约到并行程序的精化方法.软件学报,2002.15(11):p.2106-2111.
    [22].徐祯,面向并行程序设计的可视化建模语言体系及支撑系统研究,in计算机应用技术.2010,天津大学:天津.
    [23].张华,铁路信号系统中联锁软件形式化描述方法的研究,in计算机应用与技术.2007,合肥工业大学:合肥.
    [24].钟旭,APLA语言并发机制的研究,in计算机软件与理论.2009,江西师范大学:江西.
    [25].杨琛,基于进程代数并发系统的建模与验证研究,in计算机软件与理论.2006,西北大学:西安.
    [26].匡春临,并发系统的形式化技术研究,in计算机应用技术.2007,华侨大学:泉州.
    [27].肖美华,薛锦云,时态逻辑形式化描述并发系统性质.海军工程大学学报,2004. 16(5):p.10-13.
    [28].刘剑,李彤,一种并发系统的规约方法.计算机应用研究,2000.17(5):p.15-17.
    [29].鱼先锋,王辉,并发系统互斥约束的形式化验证.商洛学院学报,2011.25(6):p.10-14.
    [30]. 李杨,程建华,房鼎益,陈晓江,冯健,并发系统的安全性与活性的验证方法.计算机工程与应用,2008.44(4):p.107-110.
    [31]. 张广泉,并发系统性质验证的一种形式化方法.重庆师范学院学报(自然科学版),1999.16(3):p.1-5.
    [32]. 张广泉,并发系统性质描述的一种形式化方法.重庆师范学院学报(自然科学版),1998.15(1):p.11-14.
    [33]. 刘剑,李彤,一种并发软件规约方法的构架.计算机科学,2000.27(7):p.85-87.
    [34]. Wolfgang, R., Petri nets:an introduction.1985:Springer-Verlag New York, Inc. 161.
    [35]. 林闯,Petri网理论与应用的蓬勃发展.中国计算机学会通讯,2009.15(10):p.6-7.
    [36].蒋忠远,基于Petri网的形式化软件开发方法研究,in计算机应用技术.2008,西华大学.
    [37].庞善臣,蒋昌俊,一种基于不变量结构分解的工作流性能分析方法.计算机学报,2010.33(5):p.908-918.
    [38]. Theofanis Constantinou, Y. S., Pierre Michaud, Damien Fetis, Andre Seznec Performance Implications of Single Thread Migration on a Chip Multi-Core. ACM SIGARCH Computer Architecture News,2005.33(4):p.80-91.
    [39]. 袁崇义,Petri网原理.1998,北京:电子工业出版社.1-14.
    [40]. J. Billington, ISO/IEC 15909-1:2004 Software and system engineering. High-level Petri nets:Part1:Concepts, definitions and graphical notation.2004.
    [41].成斌,基于TCPN模型的并行系统性能分析方法研究in计算机应用技术.2011,上海大学:上海.
    [42]. shatz S M, c. W. K., A petri net framework for automated static analysis of Ada tasking behavior. Journal of System and Software,1988.8:p.343-359.
    [43]. Petri, C.A., Concurrency Theory.1986:LNCS.254.
    [44]. Petri, C. A., Introduction to general net theory.1980:LNCS.84.
    [45]. Murata T, S.B., Shatz S M, Detection of Ada static deadlocks using Petri net invariants. IEEE Trans Software Engineering,1989.15(3):p.314-326.
    [46]. Shatz, S.M., et al., Design and implementation of a Petri net based toolkit for Ada tasking analysis. Parallel and Distributed Systems, IEEE Transactions on,1990.1(4):p.424-441.
    [47]. Shatz S M, T., Murata T, An application of petri net reduction for Ada tasking deadlock analysis. IEEE Trans Parallel and Distributed Systems,1996.7(12): p.1307-1322.
    [48]. Dwyer, M. B. and L. A. Clarke, A Compact Petri Net Representation and Its Implication for Analysis. IEEE Transactions on Software Engineering,1996. 22(11):p.794-811.
    [49].丁志军,蒋昌俊,基于网语言的Ada程序局部性质的分析和验证.软件学报,2002.13(12):p.2305-2316.
    [50]. A.Ferscha, A petri net approach for performance oriented parallel program design. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING,1992.15(3):p.188-206.
    [51]. 崔焕庆,基于Petri网的MPI并行程序建模与正确性验证,in计算机软件与理论.2004,山东科技大学:山东.
    [52]. Giovanni Chiola, A. F. Distributed Simulation of Timed Petri Nets:Exploiting the Net Structure to Obtain Efficiency in the 14th Int. Conf. on Application and Theory of Petri Nets 1993.1993.
    [53]. G. R. GAO, W.-B. W., and Q. Ning. A timed Petri Net Model for Fine-Grain Loop Scheduling. in the ACM SIGPLAN'91 Conference on Programming Language Design and Implementation.1991.
    [54]. Anglano, C. Predicting Parallel Applications Performance on Non-dedicated Cluster Platforms, in 12th ACM International Conference on supercomputing. July 1998.
    [55].任爱华,牛锦中,张永鸣,一种基于面向对象Petri网的并发程序建模方法.北京航空航天大学学报,1998.24(4):p.491-494.
    [56].丁志军,蒋昌俊,并发程序验证的序Petri网方法.计算机学报,2002.25(5):p.467-475.
    [57].方贤文,基于Petri网的并行程序分析与评价,in计算机软件与理论.2004,山东科技大学:山东.
    [58]. G. Balbo, G.C., S. C. Bruell and P. Chen, An Example of Modelling and Evaluation of a Concurrent Program Using Coloured Stochastic Petri Nets:Lamport's Fast Mutual Exclusion algorithm IEEE Transactions on Parallel and Distributed Systems,1992.3(2):p.221-240.
    [59]. K. Jensen, L.M.K., L. Wells, Coloured Petri Nets and CPN Tools for Modelling and Validation of Concurrent Systems. International Journal on Software Tools for Technology Transfer,2007.9:p.213-254.
    [60].林闯,随机Petri网和系统性能评价.2000,北京:清华大学出版社.
    [61]. Marco Bernardo, L. D., and Roberto Gorrieri, A Formal Approach to the Integration of Performance Aspects in the Modeling and Analysis of Concurrent Systems. Information and Computation,1998.144:p.83-154.
    [62]. He, X., PZ nets-a formal method integrating Petri nets with Z. Information and Software Technology,2001.43:p.1-18.
    [63]. K. M. van Hee, L. J. Somers, and M. Voorhoeve, Z and high-level Petri nets. Lecture Notes in Computer Science,1991.551:p.204-219.
    [64].林闯,魏丫丫,随机进程代数与随机Petri网.软件学报,2002.13(2):p.203-213.
    [65]. Krishna, M. K., M. Alireza, and C. Deng-Jyi, Modeling Multithreaded Applications Using Petri Nets. Int. J. Parallel Program.,2002.30(5):p. 353-371.
    [66]. Yin, Wang, et al., Gadara:dynamic deadlock avoidance for multithreaded programs, in Proceedings of the 8th USENIX conference on Operating systems design and implementation.2008, USENIX Association:San Diego, California.
    [67]. Yin, Wang, et al., Gadara nets:Modeling and analyzing lock allocation for deadlock avoidance in multithreaded software in Proceedings of the 48th IEEE Conference on CDC/CCC 2009.2009 Conference Publications Shanghai, p.4971-4976
    [68]. Yin. Wang, et al., The theory of deadlock avoidance via discrete control. SIGPLAN Not.,2009.44(1):p.252-263.
    [69]. Liao, H., et al., Concurrency bugs in multithreaded software:modeling and analysis using Petri nets. Discrete Event Dynamic Systems, May 13,2012:p. 1-39.
    [70].梁英毅,王生原,董渊,一种基于P/T网的低级并发程序验证模型.中国科学:信息科学,2010.40(1):p.13-32.
    [71].苗乾坤,面向共享存储系统的计算模型,in计算机软件与理论2010,中国科学技术大学:北京.
    [72]. Gengbin Zheng, G. K., Laxmikant V. Kale BigSim:A Parallel Simulator for Performance Prediction of Extremely Large Parallel Machines in International Parallel and Distributed Processing Symposium (IPDPS). April 2004. Sant a Fe, New Mexico.
    [73]. Sundeep, P. and L. B. Rajive, MPI-SIM:using parallel simulation to evaluate MPI programs, in Proceedings of the 30th conference on Winter simulation.1998, IEEE Computer Society Press:Washington, D. C., United States.
    [74].徐传福,车永刚,王正华,基于并行模拟的多核集群系统性能预测和分析.国防科技大学学报,2010.32(5):p.62-68.
    [75]. Hasyim Gautama, A. J. C. v. G. Static performance prediction of data-dependent programs. in Proceedings of the 2nd internationla workshoD on software and performance.2000. New York.
    [76]. Somnath Ghosh, M. M., Sharad Malik. Cache miss equations:an analytical representation of cache misses, in in Proceedings of the 11th international conference on Supercomputing.1997. Vienna, Austria.
    [77]. Luk C K, C. R., et al Pin:Building Customized Program Analysis Tools with Dynamic Instrumentation. in Proceedings of the ACM SIGPLAN Conference on Progamming Language Design and Implementation. June 2005. Chicago, ILN, US.
    [78]. Cnatrill B M, S.M. W., Leventhal A H. Dynamic Instrumentation of Production System. in Proceedings of USENIX ATEC. June,2004. Boston, MA, US.
    [79]. Intel. Vtune.2011 [cited; Available from: http://www.intel.com/software/products/vtune.
    [80]. J, L. Oprofile.2009 [cited; Available from: http://oprofile.sourceforge. net/about.
    [81]. S, E. Perfmon2.2009 [cited; Available from:http://perfmon2. sf. net.
    [82].车永刚,科学计算程序性能分析与优化关键技术研究,in计算机科学与技术.2004,国防科学技术大学:长沙.
    [83].陈倩,并行程序性能分析系统的研究与实现,in计算机科学与技术.2005,国防科学技术大学:长沙.
    [84]. Marco Ajmone, M., C. Gianni, and B. Gianfranco, A class of generalized stochastic Petri nets for the performance evaluation of multiprocessor systems. ACM Trans. Comput. Syst.,1984.2(2):p.93-122.
    [85]. Dugan, J. B., Trivedi, K. S., Geist, R. M. and Nicola, V. F.. Extended Stochastic Petri Nets:Applications and Analysis in the 10th International Symposim on Computer Performance Dec 19-21,1984. Paris, France.
    [86]. Marsan, M. A. On Petri nets with deterministic and exponentially distributed firing times, in Proceedings of the 7th Euro. Workshop Application Theory Petri nets.1986.
    [87]. Meyer, C., et al., Automated Generation and Analysis of Markov Reward Models Using Stochastic Reward Nets, in Linear Algebra, Markov Chains, and Queueing Models.1993, Springer New York. p.145-191.
    [88]. Lin, C. and D. C. Marinescu, Stochastic high-level Petri nets and applications. Computers, IEEE Transactions on,1988.37(7):p.815-825.
    [89].杨鹏,基于广义随机Petri网理论的SIP的研究,in控制理论与控制工程.2009,兰州理工大学:兰州.
    [90].洪志国,基于随机Petri网模型的卫星网络性能分析研究,in计算机应用技术.2004,中国科学院研究生院:北京.
    [91].董宾,基于广义随机Petri网的直升机动力与传动系统动态可靠性建模仿真研究,in机械工程2011,国防科学技术大学:长沙.
    [92].林闯,随机Petri网和系统性能评价(第二版).2005,北京:清华大学出版社.
    [93].林闯,李雅娟,王忠民,性能评价形式化方法的现状和发展.电子学报,2002.30(12):p.1917-1922.
    [94]. M. W.Hall, Maximizing Multiprocessor Performance With the SUIF Compiler. Computer, Dec,1996:p.84-88.
    [95]. B, B. Polaris:The next generation in paralleling compilers, in the 7th International Workshop on Languages and Compilers for Parallel Computing.1994. New York:Springer Verlag
    [96].朱传琪等,程序自动并行化系统软件学报,1996.7(3):p.180-186.
    [97]. FERRANTE J, O.K. J., WARREN J D, The program dependence graph and its use in optimization. ACM Transactions on Programming Languages and Systems,1987. 9(3):p.319-349.
    [98]. Frances Allen, M. B., et al, A Framework for Determining Useful Parallelsim. ACM Transactions on Programming Languages and Systems,1988.
    [99]. Milind Girkar, C. D. P., Automatic extraction of functional parallelism from ordinary programs. IEEE Transactions on Parallel and Distributed Systems,, 1992.3(2):p.166-178.
    [100]. Rul, S., H. Vandierendonck, and K. De Bosschere, Detection of Coarse-grain Parallelism.2007.
    [101]. Michael, B. and C. Ron, Interprocedural dependence analysis and parallelization, in Proceedings of the 1986 SIGPLAN symposium on Compiler construction.1986, ACM:Palo Alto, California, United States.
    [102]. Yuan-Shin, H. and H. S. Joel, Identifying parallelism in programs with cyclic graphs. J. Parallel Distrib. Comput.,2003.63(3):p.337-355.
    [103].徐甲同,杨烃,程序相关图及真优化技术.微电子学与计算机,1992.10:p.35-38.
    [104]. Reinders, J., Intel Threading Building Blocks编程指南.2009,北京:机械工业出版社.
    [105]. Leonardo, D. and M. Ramesh, OpenMP:An Industry-Standard API for Shared-Memory Programming. IEEE Comput. Sci. Eng.,1998.5(1):p.46-55.
    [106]. NVida. Cuda. [cited; Available from: http://developer, nvidia. com/object/cuda. html.
    [107]. David, G., Generative communication in Linda. ACM Trans. Program. Lang. Syst., 1985.7(1):p.80-112.
    [108]. William Gropp, E. L., Anthony Skjellum, Using MPI, Portable Parallel Programming with the Message Passing Interface.1999:The MIT Press.
    [109]. V-. S. Sunderam, PVM:A Framework for Parallel Distributed Computing. Concurrency:Practice and Experience,1990:p.315-339.
    [110]. Grzegorz, M., et al., Pregel:a system for large-scale graph processing-"ABSTRACT", in Proceedings of the 28th ACM symposium on Principles of distributed computing.2009, ACM:Calgary, AB, Canada.
    [111]. Robert D. Blumofe, C. F. J., Bradley C. Kuszmaul, Charles E. Leiserson, Keith H. Randall, Yuli Zhou Cilk:An Efficient Multithreaded Runtime System. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING,1995:p.207-216.
    [112]. Reinders, J., Intel threading building blocks outfitting C++ for multi-core processor parallelism.2007, CA,USA:O'Reilly.
    [113]. Philippe, C., et al., X10:an object-oriented approach to non-uniform cluster computing. SIGPLAN Not.,2005.40(10):p.519-538.
    [114]. Jeffrey, D. and G. Sanjay, MapReduce:simplified data processing on large clusters. Commun. ACM,2008.51(1):p.107-113.
    [115]. Michael, I., et al., Dryad:distributed data-parallel programs from sequential building blocks. SIGOPS Oper. Syst. Rev.,2007.41(3):p.59-72.
    [116]. Russell, P. and L. Jinyang, Piccolo:building fast, distributed programs with partitioned tables, in Proceedings of the 9th USENIX conference on Operating systems design and implementation, USENIX Association:Vancouver, BC, Canada.
    [117]. Doug Burger, J. R.G., Billion-transistor architectures:there and back again Computer, Mar 2004.37(3):p.22-28.
    [118]. S. Gopal, T. N. V., J. E. Smith, and G. S. Sohi, Speculative versioning cache.
    [119]. Schirrmeister, F. Multi-core Processors-.Fundamentals, Trends, and Chalenges. in Embedded Systems Conference 2007.
    [120].吴丹,傅秀芬,苏磊,林乔捷,多线程编程模型的研究与应用.广东工业大学学报,2008.25(1):p.47-49.
    [121]. Davi R, B., Programming with POSIX Threads.1997:Addison Wesley.
    [122].吴哲辉,Petri网导论.2006,北京:机械工业出版社.
    [123]. K, M. M., Performance analysis using stochastic petri nets. IEEE Trans on Computer,1982.31(9):p.913-917.
    [124]. A, M. M., A class of generalized petri nets for the performance evaluation of multiprocessor system. ACM Transactions on Computer Systems,1984.12(2):p. 93-122.
    [125]. Dugan, B. J., et al., Extended Stochastic Petri Nets:Applications and Analysis. 1984, Duke University.
    [126]. Joanne Bechta, D., et al., Extended Stochastic Petri Nets:Applications and Analysis, in Proceedings of the Tenth International Symposium on Computer Performance Modelling, Measurement and Evaluation.1985, North-Holland Publishing Co.
    [127]. Ciardo, G., J. Muppala, and T. Trivedi. SPNP:stochastic Petri net package. in Petri Nets and Performance Models,1989. PNPM89., Proceedings of the Third International Workshop on.1989.
    [128]. Akharware, N. PIPE2:Platform Independent Petri Net Editor.2005 [cited; Available from: http://citeseerx. ist.psu. edu/xiewdoc/summary?doi=10.1.1.169.6403.
    [129].安虹,陈国良,并行程序设计模型和语言.软件学报,2002.13(1):p.118-124.
    [130]. Bowen Alpern, F. B. S., Recognizing safety and liveness. Distributed Computing, 1987.2(3):p.117-126.
    [131]. Aslst, W. M. P. v. d., Verification of Workflow Nets. Application and Theory of Petri Nets 1997,1997. volume 1248 of Lecture Notes in Computer Science:p. 407-426.
    [132]. Aalst, W. M. P. v. d., The Application of Petri Nets to Workflow Management The Journal of Circuits, Systems and Computers,1998.8(1):p.21-66.
    [133]. G L jayavardhana Rama, A. G.R., Devaraju Gupta. Parallel Processing in OCR-A multithreaded approach. in Proceedings of Tamil Internet 2002. California, USA.
    [134]. Marsan, M. A., et al. Generalized Stochastic Petri Nets Revisitied:Random Switches and Priorities.1987:IEEE Computer Society.
    [135].陈国良,并行计算——结构.算法.编程(修订版).2004:高等教育出版社.
    [136]. Vipin, K. and G. Anshul, Analyzing scalability of parallel algorithms and architectures. J. Parallel Distrib. Comput.,1994.22(3):p.379-391.
    [137]. Zhang, X. D., Y. Yan, and K. Q. He, Latency Metric:An Experimental Method for Measuring and Evaluating Parallel Program and Architecture Scalability. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING,1994.22(3):p.392-410.
    [138]. Xian-He, S. and D. T. Rover, Scalability of parallel algorithm-machine combinations. Parallel and Distributed Systems, IEEE Transactions on,1994. 5(6):p.599-613.
    [139].侯锐,多核加速串行程序技术综述.信息技术快报,2006.4(6).
    [140]. LiTong, An Approach to Modeling Software Evolution Process.2008: Springer-Verlag, Berlin.
    [141]. Horwitz, S., Prins, J., and Reps, T., On the adequacy of program dependence graphs for representing programs, in the Fifteenth ACM symposium on Principles of Programming Languages.1988:San Diego, CA. p.146-157.
    [142]. M. J. Harrold, B. M., G. Rothermel, Efficient Construction of Program Dependence Graphs., in International Symposium on Software Testing and Analysis(ISSTA'93).1993.
    [143]. Robert A. Balance, K. K., Arthur B. Maccabe, Program Dependence Graphs for the Rest of Us.1993.
    [144]. M. Girkar, C. D. P., Automatic Extraction of Functional Parallelism from Ordinary Program. IEEE Transactions on Parallel and Distributed Systems,1993.3(2): p.166-178.
    [145]. Jeanne Ferrante, K. J.O., Joe D. WarrenARREN, The Program Dependence Graph and its use in optimization. ACM Transactions on Programming Languages and Systems, 1987.9(3):p.319-349.
    [146].李必信,程序切片技术及真应用.2005,北京:科学出版社.
    [147].郭龙,陈闳中,叶青,构造串行程序对应的并行任务(DAG)图.计算机工程与应用,2007.43(1):p.41-43.
    [148]. Alfred V. Aho, R. S., Jeffrey D.Ullman, Compilers:Principles, Techniques, and Tools.1986:Addison Wesley; US ed edition.
    [149].隋仲达,面向对象程序切片中的数据流分析,in 计算机软件与理论2003,西安电子科技大学:西安.
    [150]. Ammar, H. H. S. D. Time warp simulation of stochastic petri nets. in the Fourth International Workshop on Petri Nets and Performance Models.1991. Melbourne, Vic.
    [151]. KAIM W E, K. F. An integrated framework for rapid system prototyping and automatic code distribution, in the 5th IEEE Intenational Workshop on Rapid System Prototyping.1994. Grenoble:IEEE Comp Soc Press.
    [152]. Claude Girault, R.V.,系统工程Petri网-建模、验证与应用指南.2005,北京:电子工业出版社.
    [153].李文敬,廖伟志,王汝凉,Petri网系统的功能划分及其并行算法.计算机工程,2009.35(21):p.48-50.
    [154]. J.Martinez, M. S. A Simple and Fast Algorithm to Obtain All Invariants Of a Generalized Petri Nets. in Proceedings of Second European Workshop on Application and Theory of Petri Nets.1982. Berlin:Springer Publishing Company.
    [155]. M. Yamauchi, M. W., S. Taoka, T. Watanable. A Fast and Space-Saving Algorithm for Computing Invariants of Petri Nets. in proceedings of IEEE SMC'99.1999. Tokyo, Japan.
    [156]. A. Bourjij, M. B., T. Cecchin. On Generating a Basis of Invariants in Petri Nets. in 1997 IEEE International Conference on Systems, Man and Cybernetics. Orlando, FL, USA.
    [157].周丰,王明哲,王莉,一种改进的Petri网S不变量计算方法.计算机工程,2010.36(17):p.1-3.
    [158].高蕾,龚正虎,刘亚萍,赖明澈,彭伟,一种基于局部推测的BGP协议并行技术.中国科学E辑:信息科学,2008.38(10):p.1663-1678.
    159.宋志军,基于多核(多处理单元)的防火墙架构研究与关键技术实现,in软件工程.2009,电子科技大学:成都.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700