一种多核并行并行程序中的文界分析.docxVIP

  • 1
  • 0
  • 约6.92千字
  • 约 6页
  • 2023-12-04 发布于广东
  • 举报

一种多核并行并行程序中的文界分析.docx

一种多核并行并行程序中的文界分析 1 fork/boin并行性的并发程序分析技术 从理论和实践的角度来看,并发程序验证是一个非常挑战的问题。随着多核技术日益发展,通过引入Fork/Join并行性,并发程序将任务分解为更细粒度的子任务并行执行,从而充分利用多核处理器提供的计算性能。但是,多个线程之间的交错执行可能会产生隐匿的错误和漏洞,故保证并发程序的正确性具有十分重要的意义。近些年提出的上下文定界方法是一种适合并发程序的分析技术,其思想是仅考虑有限次上下文切换(控制权从一个线程切换到另一个线程)之内程序执行的计算。由于在有限次上下文切换之内可发现许多并发相关的错误,上下文定界思想有助于程序分析。在程序中存在递归和过程调用的情况下,虽然被搜索的状态空间是无界的,但上下文定界可达问题是可判定的。 针对Fork/Join并行性的并发程序进行可达性分析,主要基于以下考虑:Fork/Join并行性涉及到动态线程创建,而动态线程创建对于构建操作系统的组件是非常重要的。例如:(1)文件系统、设备驱动、无封装数据结构等软件模块的无界并发执行;(2) 异步行为的生成:例如创建一个线程、回调函数等;(3) 实现应用软件的并行化执行,充分利用多核体系结构的强大性能。 2 格局上的迁移关系 下推系统P=(G,Γ,Δ,cin)由全局变量集合G、栈字母表Γ、G和Γ上的迁移关系集合Δ以及初始格局cin=〈gin,win〉构成。G和Γ是任意给定的有限集合,G是全局状态集合,Γ是栈字母表,g是取值于G中的元素,γ是取值于Γ中的元素。栈w是Γ*的一个元素,Γ*是Γ上的有限串集合,包含空串ε。格局c是G×Γ*上的一个元素,可记为c=〈g,w〉,其中g∈G,w∈Γ*。G和Γ上的迁移关系Δ是(G×Γ)×(G×Γ*)的有限子集。格局上的迁移系统“→Δ”定义如下:对于所有w′∈Γ*,〈g,γw′〉→Δ〈g′,ww′〉成立,当且仅当 (〈g,γ〉,〈g′,w〉)∈Δ。“→*Δ”表示“→Δ”的自反传递闭包。根据Δ的定义,栈为空的格局不存在任何迁移。当栈为空时,下推系统终止。 假设P= (G,Γ,Δ,cin)是一个下推系统。一个P自动机的字母表为Γ,初始状态集合为G,Δ是迁移集合,cin是初始格局。P对应的自动机A=(Q,Γ,δ,I,F)是一个有限自动机,其中Q?G是一个有限状态集合,Γ为字母表,δ?Q×Γ×Q是迁移集合,I?G是初始状态集合,F?Q是终止状态集合,自动机可能包含ε迁移。一个下推系统接受或者识别格局〈g,w〉,当且仅当存在某些状态q∈F,使得自动机A满足条件:g→w?q→w*q。下推系统P自动机A接受的格局集合表示为L(A),下推系统P的格局集合是正则的,当且仅当存在某些P自动机接受该格局集合。 因为下推系统的可达格局集合是正则的,故下推系统的可达问题是可判定的。对于一个下推系统P=(G,Γ,Δ,gin,win)和一个格局集合S?G×Γ*,假设Post*Δ(S)是S的可达格局集合,即Post*Δ(S)={c|?c′∈S,c′→*Δc},并且从正则格局集合可达的格局同样是正则的。 3 多元迁移关系的初始格局 并发下推系统是一个元组P=(G,Γ,Δ0,…,ΔN,gin,win),由全局状态集合G,G和Γ上的迁移关系Δ0,…,ΔN,初始状态gin和初始栈win构成。并发下推系统的一个格局是元组c=〈g,w0,…,wN〉,其中g∈G表示一个全局状态,wi∈Γ*表示一个栈wi序列,每个栈对应一个子迁移关系。P的初始格局是〈gin,win,…,win〉,其中N+1个栈初始化为win。根据每个子下推系统的迁移关系,P的迁移系统“→P”通过重写全局状态和每个栈,实现对其格局的重写。定义〈g,w0,…,wi,…,wN〉→i〈g′,w0,…,wi′,…,wN〉成立,当且仅当〈g,wi〉→Δi〈g′,wi′〉。定义P格局间的迁移关系“→P”为“→i”的并集,即→P=∪Ni=1i=1Ν→i。 3.1 c11ck 格局c是可达的,当且仅当cin→*pc,其中cin为初始格局。并发下推系统可达问题是不可判定的。但是,如果进行可达性分析时限定一次迁移中的上下文切换次数,其可达问题变得可判定。对于一个正整数k,递归地定义格局c上的k-定界迁移关系如下: (1)c→1→1c′,当且仅当存在i使得c→*ic′成立。 (2)c?→k+1→k+1c′,当且仅当存在c″和i使得c→k→kc″且c″→*ic′成立。 并发下推系统P的一个上下文是单个下推系统(线程)执行的迁移序列。因此,一个k-定界迁移至多包含k-1个“上下文切换”,上下文切换时选择新的迁移关系“→i”。在每个上下文中计算迁移关系“→i”的传递闭包。称一个格局c是k-可达的,如果cin→k→kc成立。并发下推系统P的k-定界可达问题可以描

文档评论(0)

1亿VIP精品文档

相关文档