CN100593169C - 多线程可达性 - Google Patents

多线程可达性 Download PDF

Info

Publication number
CN100593169C
CN100593169C CN200610087935A CN200610087935A CN100593169C CN 100593169 C CN100593169 C CN 100593169C CN 200610087935 A CN200610087935 A CN 200610087935A CN 200610087935 A CN200610087935 A CN 200610087935A CN 100593169 C CN100593169 C CN 100593169C
Authority
CN
China
Prior art keywords
subregion
subregions
state
analysis
thread
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200610087935A
Other languages
English (en)
Other versions
CN101034417A (zh
Inventor
贾瓦哈拉·贾殷
德巴西斯·萨胡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN101034417A publication Critical patent/CN101034417A/zh
Application granted granted Critical
Publication of CN100593169C publication Critical patent/CN100593169C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Abstract

多线程可达性。在一个实施例中,用于多线程可达性分析的方法包括以下步骤:将所分析电路的状态空间划分为多个分区,并且将各个分区指配给线程以对指配给该线程的分区执行可达性分析。多个线程彼此并行地执行对所述多个分区的可达性分析。所述方法还包括以下步骤:使用一个或更多个早期通信算法和局部通信算法来从所述多个分区中的一个或更多个第一分区向所述多个分区中的一个或更多个第二分区传送状态,以帮助所述多个分区中的第二分区的可达性分析。

Description

多线程可达性
技术领域
本发明总体上涉及电路设计,更具体地,涉及多线程可达性。
背景技术
通常使用基于分区二进制决策图(BDD)的算法来减少基于BDD的电路检验中的存储爆炸问题。因为这种算法易于受到与处理的调度划分相关联的问题的影响,因此这种算法有时效率低。
发明内容
根据本发明,可以减少或者消除与电路设计相关的缺点和问题。
在一个实施例中,一种用于多线程可达性分析的方法包括以下步骤:将所分析电路的状态空间划分为多个分区,并且将各个分区指定给线程以对分配给该线程的分区执行可达性分析。多个线程彼此并行地执行分区的可达性分析。该方法还包括以下步骤:使用一个或更多个早期通信算法和局部通信算法,从多个分区中的一个或更多个第一分区向所述多个分区中的一个或更多个第二分区传送状态,以便于对所述多个分区中的第二分区进行可达性分析;其中,所述早期通信算法包括,在完成对应线程的可达性分析之后,立即从所述多个分区中的一个或更多个第一分区向所述多个分区中的一个或更多个第二分区传送状态;其中,所述局部通信算法包括,响应于所述多个分区中的一个或更多个第一分区变为空闲,在完成对应线程的可达性分析之前,从所述多个分区中的一个或更多个第二分区向所述多个分区中的一个或更多个第一分区传送状态的子集。
本发明的特定实施例可以提供一个或更多个技术优点。作为示例,特定实施例提供了一种多线程可达性算法,其减少或者避免了与处理的调度划分相关联的问题,同时增加了状态空间的分区遍历(traversal)中可能的并行性。特定实施例提供了一种多线程可达性算法,其运行得明显比先前的可达性算法和分区方法更快。当使用并行架构来实施这种实施例时,这种实施例可以提供更进一步的收益。在特定实施例中,即使一个或更多个分区可能由于存储爆炸(memory blowup)而变得难以进一步处理,分区之间的早期通信、分区之间的局部通信、或者这两者都有利于一个或更多个其他分区中的状态空间的连续遍历。
即使仅在一个处理器上运行,特定实施例也可以提供在大多数情况下比基于有序BDD(OBDD)或者分区OBDD(POBDD)的算法更好的电路检验结果。特定实施例有助于比基于BDD的先前方法快得多地对错误状态进行定位。特定实施例有助于比先前的可达性算法快得多地对错误状态进行定位。特定实施例比基于POBDD的标准连续可达性算法更为健壮。特定实施例有助于增加优于基于POBDD的标准可达性算法中的自然并行性的并行性。
特定实施例可以提供全部或部分上述技术优点,也可以不提供上述技术优点。特定实施例可以提供一个或更多个其他技术优点,根据本文的附图、说明书及其权利要求书,所述一个或更多个其他技术优点对于本领域的普通技术人员是显而易见的。
附图说明
为了提供对本发明及其特征和优点的更全面理解,现在结合附图来进行以下说明,其中:
图1例示出用于多线程可达性的示例系统;以及
图2A至2C例示出特定的启发式方法(heuristics)对多个线程中的每一个进行的工作的示例效果。
具体实施方式
图1例示出用于多线程可达性的示例系统10。系统10包括电路12。如下所述,系统10还包括用于对电路12执行可达性分析的可达性模块14和可达性数据16。一个或更多个链路将系统10的部件彼此连接。作为示例而不是作为限制,链路可以包括一个或更多个电路板中的一个或更多个导线、一个或更多个内部总线或外部总线、一个或更多个局域网(LAN)、一个或更多个城域网(MAN)、一个或更多个广域网(WAN)、因特网的一个或更多个部分,或者两个或更多个这种链路的适当组合。
电路12包括用于进行测试以确定硬件是否例如按照一个或更多个特定硬件规范而适当工作的硬件或者硬件的逻辑或其他表示。作为示例而不是作为限制,电路12可以包括诸如门电路、计数器、反相器、缓冲器的电路元件,以及被设置并彼此连接以提供特定功能的其他电路元件。作为另一示例,电路12可以包括这些元件的逻辑或者其他表示。电路12可以包括数百万个电路元件。为了提供特定的功能,电路12可能需要包括一个或更多个特性。电路12可能需要包括数百万这种特性。在特定实施例中,一个或更多个逻辑表达式可以描述电路12的特性。提到电路12的“特性”,可以包括逻辑可表达的电路12的状态、特征、行为或操作,或者电路12的适当的其他特性。提到“状态”,可以包括电路12的适当的一个或更多个特性。
可达性模块14包括用于通过一个或更多个链路接入电路12并且对电路12执行可达性分析的硬件、软件、或嵌入式逻辑部件,或者两个或更多个这种元件的组合。在特定实施例中,对电路12执行可达性分析包括:将电路12的状态空间划分成多个分区,并且使用多个线程对这些分区执行可达性分析,如下所述。可达性模块14包括用于对电路12执行可达性分析的多个线程18。各个线程18执行全部可达性分析的一部分。提到线程,可以包括可以由处理器与适当的一个或更多个其他处理实例并行执行的处理实例。可达性数据16包括指定可达性分析的特定参数的数据以及在特定实施例中可达性模块14用来对电路12执行可达性分析的其他数据。在特定实施例中,一个或更多个计算机系统提供对可达性模块14、可达性数据16或者这两者的一个或更多个用户访问。作为示例而不是限制,计算机系统可以包括可达性模块14和可达性数据16,并且用户可以访问计算机系统以向可达性模块14、可达性数据16或者这两者提供输入,并且接收来自可达性模块14、可达性数据16或者这两者的输出。
可达性分析可以包括一个或更多个有限状态机(FSM)的宽度优先遍历。当输入一组初始状态以及关于从各个当前状态可以到达的下一状态的转移关系(TR)时,可以采用用于可达性分析的算法。一个或更多个最小固定点(LFP)计算可以生成一组可达状态。LFP计算可以包括直到图像计算达到固定点为止执行的一系列图像计算。可以接连地将TR划分成一组群,可以将量化调度与经划分的TR相关联以便在图像计算期间进行早期量化。
使用分区有序二进制决策图(POBDD)可以改进基于一个或更多个可达性分析的对电路12的检验。下面是使用POBDD基于一个或更多个可达性分析执行对电路12的检验的示例算法:
POBDD-Reachability(TR,InitStates){
   将Rch初始化为InitStates
   对Rch创建分区rep
   执行{
        对于(各个分区i)
              计算分区i中的LeastFixedPoint(Rch)
        对于(各个分区i)
              计算从i到所有分区的状态
   }直到(不向Rch添加新状态);
  }
上述算法实际上在各个分区i中执行尽可能多的图像计算步骤,直到该分区中达到LFP。随后,该算法通过考虑在各个分区i中起源并且从其引出的转移,使两个或更多个分区彼此同步。提到通信,可以包括这些交叉分区图像计算、以及计算出的二进制决策图(BDD)从一个或更多个第一分区到一个或更多个第二分区的适当的后续转移。上述算法不使用严格的宽度优先搜索(BFS)遍历。该算法对各个分区执行局部的BFS,随后进行同步以添加由于从一个分区跨越到另一分区的转移而产生的状态。因此,该算法使用基于区域的BFS,由此对状态空间的各个分区按宽度优先的方式独立地进行遍历。提到局部LFP计算,可以包括一个或更多个分区中的适当的一个或更多个LFP计算。
对于并行验证的先前方法依赖于分布式可达性分析,所述分布式可达性分析包括在具有分布式构架和分布式存储器的并行环境中的对状态空间的传统BFS遍历。相反,本发明的特定实施例使用共享存储器模式以及多个线程18之间的快速通信来促进并行性。在特定实施例中,在对电路12进行可达性分析之前,可以对电路12施加变形(例如概括)。这种实施例改进了基于BDD的可达性分析,因此往往补充而不是替代其他验证方法。
特定实施例用较少的计算工作量就达到较多个新状态。标准的基于POBDD的可达性算法利用局部LFP计算效率高的优点来快速达到较多个状态。然而,预先并不知道哪个局部LFP计算较为容易。通常,对于大多数状态,存在多个路线可以达到它们。可以通过局部LFP或者通过从另一分区的通信达到它们。有可能通过通信可以更容易达到一组状态。当分区早早完成并且随后通过通信向其他分区提供新状态时,于是,新计算的状态组可以简化接收分区中的局部LFP计算。因此,顺序的基于POBDD的可达性算法的性能应该取决于并且的确取决于对分区进行处理的相对顺序。这是调度问题。很难采用贪婪策略在顺序环境中找出容易的计算(分区)。然而,在多线程环境中实施这种策略相对容易。在不同分区之间划分计算资源的循环(round-robin)性质确保了容易的划分在困难的划分之前完成。明显地,在使用多线程的可达性算法中增加并行性使得能够贪婪发现更容易的计算,这将有助于更快地积累可达状态。因此,特定实施例采用多线程(并行)方法并提高了并行性。
上述基于POBDD的算法是可以并行的。可以并行地执行与各个分区的通信相结合的各个分区的局部LFP计算。特定实施例等待全部分区完成其局部LFP计算和通信,以开始将计算出的状态传送到适当分区。然而,经验上,上述算法的这种简单并行提供了有限的并行性。这可能是由于下列原因:
1、BDD计算的高度变化性。如果分区具有很好的可变顺序或者该分区代表的功能非常易于处理,则其对应的状态空间表达可能是简洁的。相应地,在该分区内的图像计算是快速的;这种分区是容易的分区。另一方面,如果分区没有良好的可变顺序或者对应的功能很难,则其困于对大BDD的重新排序中,并且不能取得进展。这种分区是困难的分区。在许多情况下,对各个分区的局部LFP计算的运行时间存在很大变化。在这种情况下,所有的容易分区可以等待困难分区完成其图像计算,这显著减少了并行性。
2、局部LFP计算的深度。减少并行性的另一原因可能是局部LFP计算的深度在各个分区中可能变化显著的事实。在此情况下,深度较浅的分区完成得较快,而深度较深的分区花费较长时间来完成。这导致空闲的线程,其减少了并行性。
在实践中,可能是大量分区等待少许困难分区。为了处理此问题,特定实施例使用下列启发式方法来改进并行性:
1、早期通信:在达到最小固定点之后将状态传送给另一分区;
2、局部通信:在空闲线程中开始局部通信。
在分区完成其局部LFP计算之后,特定实施例使得该分区可以立即将其状态传送到其他分区。各个分区在其局部LFP计算期间异步地接受所传送的这些状态。这使得容易分区无需等待困难分区完成处理即可推进其后续的局部LFP计算。因此,从容易分区到其他容易分区的早期通信使得所有这种分区能够达到固定点。这很难实现顺序划分的可达性分析,因为很难获得这种调度信息。
如果在早期通信期间传送新状态,则特定实施例在添加这些状态之后重新开始当前图像计算。这种改进在某些情况下可以使得较难的图像计算显著变易。这可能是一些所传送的状态对应于作为在使用局部LFP的接收分区中要计算的困难状态的状态的结果。
在应用上述技术之后,在特定实施例中,许多分区可能仍然等待其他分区传送一些状态以使其可以继续其局部LFP计算。当全部的容易分区完成其局部LFP并且需要来自困难分区的传送以进一步前进时,往往出现这种情况。为了改进并行性,特定实施例使用困难分区的状态空间的小子集在空闲线程中开始传送。该传送将新状态引入容易分区中。这使得容易分区能够根据所传送的状态在其集体最小固定点方面取得进一步进展。直观地,这试图加速容易分区之间的活动。特定实施例使用困难分区的状态空间的一个或更多个小子集而不是整个状态空间,以减少传送中的计算工作量。这种启发式方法试图保持全部线程忙碌,因此其有助于提高并行性。此外,这种启发式方法可以增加早期通信实例的数量。因此,局部通信和早期通信的组合效果往往显著提高并行性。
下面是使用上述技术的示例并行可达性算法。
Parallel-Reachability(n,TR,InitStates){
   对InitStates创建n个分区
   对每个分区I并行运行{
         在每个微步骤运行之后
                  ImproveParallelism(i){
               获得所有的传送状态
               计算分区i中的LeastFixedPoint(Rch)
               计算从i到所有部分的跨越状态
         }
   }直到(在所有分区中都找不到新状态)
 }
ImproveParallelism(n:分区号){
      检查并添加所有的传送状态
            如果添加了新状态
                     重新开始图像计算
      请求等待分区启动
            局部通信例程
}
特定实施例并行地运行与通信结合的局部LFP计算。可以通过专用线程来管理分区内的全部计算。各线程对来自其他线程的通信状态进行轮询。在图像计算的每个微步骤之后,各个线程可以调用函数ImproveParallelism,该函数实施提高并行性的两种启发式方法。第一种启发式方法是进行早期通信。作为第一启发式方法的一部分,该函数检查其他线程是否向本线程传送了一些状态。这种由各个线程执行的简单的检查和更新子例程实施早期通信启发式方法。第二启发式方法是进行局部通信。作为这种启发式方法的一部分,每个活动线程对空闲线程进行检查。如果找到空闲线程,则启发式方法向空闲线程提供来自当前分区的状态空间的小子集。该空闲线程根据该状态子集开始向与该空闲线程相关联的分区的通信。
在特定实施例中,在多线程方法中,各个线程管理分区。如果没有新状态被传送到与该线程相关联的分区,则线程返回空闲状态。如果所有的线程都空闲,则线程管理器宣布全局终止标志。
并行使用多个处理器经常产生优于顺序算法的收益。多线程方法可能增加开销,而不增加可用的资源数量。因此,一些多线程方法的性能可能仅仅和顺序方法一样,也许略差。然而,通过避免由于调度瓶颈而导致的效率低下,使用多线程可以提供优于POBDD以及OBDD方法的显著收益。
特定实施例采用能够至少部分地改进并行性的启发式方法,因为其避免了对状态传送的不必要等待。特定实施例采用在活动局部LFP计算中还使用所传送的状态的启发式方法。这使得容易分区能够达到它们之间的集体局部最小固定点。因此,如果在该固定点存在错误,则可以很快检测到错误。此外,如果在困难分区中存在错误状态,则使用早期通信可以快速检测到该错误。多线程可达性的贪婪性质使得它可以找出到错误状态的容易到达路线。使用这种方法,错误检测可以显著较快地发生。
对于一些函数,POBDD通常比OBDD小得多。因此,如果可以通过多线程方法改进调度的不稳定性,那么,即使该线程方法具有开销,其也可以比通过情况下的其他基于BDD的方法更快地完成全部状态空间的遍历。特定实施例可以动态地识别深可达性情况,使用适应于不存在很大并行性的很深的电路的通信策略,或者进行这两者以改进与很深的电路有关的并行性。
作为示例而不是作为限制,考虑电路12的可达性分析。需要计算全部的可达状态,使用十六个分区来执行可达性分析,每个分区在独立的线程中运行。图2A至2C是例示出启发式方法对于各个线程所做工作量的效果的示例Gantt图。每个分区由水平虚线表示。填满的分段表示分区执行计算的工作时间。在达到这种状态的末端,小十字表示向其他分区的状态传送。线中的间断表示对应线程是空闲的并且正等待从另一线程获得一些状态。在多处理器环境中,这对应于处理器的空闲。然而,在多线程环境中,处理器可以调度另一线程以执行。总时间是在单个处理器上执行全部线程的工作时间。这不包括空闲时间。换言之,总工作时间是Gantt图中的全部分段的长度之和。
作为示例而不是限制,图2A示出了在不同分区中的纯多线程执行计算中持续时间是变化的,大多数线程为空闲直到全部其他线程都完成了其局部分区并且准备好进行通信。图2B例示出早期通信的示例效果。各个分区只要其完成了其局部固定点计算就进行通信。其他分区无需等待全部分区完成其局部工作即可接收较新的状态。这使得可以同时对多个分区进行探索,因此,当在单个处理器上进行调度时,将时间从大约1255秒减少到大约216秒。执行完全可达性需要的工作时间较少。然而,在一些线程空闲的调度中仍然存在间隙。图2C例示出局部通信在填充这些间隙中的示例效果。当线程空闲时,该线程从其他线程获得一些状态。这些状态使得该线程能够独立于从其获得状态的分区形式地执行一些图像计算。这确保了良好的并行利用,然而,由于现在可能有多个线程执行了重复工作,所以如在单处理器情况下测量到的,总时间可能增加。在多处理器的情况下,处理器可以得到充分利用而非空闲。使用共享存储器可以促进这种技术。
特定实施例有利于解决如何增大基于分区BDD的检验方法的效率的问题。其效率通常受到调度问题(即,对分区进行遍历的相对顺序)的妨碍。特定实施例使用多线程可达性算法,该算法通过对多个甚至也许是全部分区进行循环分析而智能地减少了调度问题。此外,在特定实施例中,这些算法增加了分区状态空间遍历中的并行性。在特定实施例中,其还通过从容易分区进行早期通信来尽可能早地收集容易到达的状态。对于失败的特性,这使得找出到错误状态的容易路径。虽然通过的情况对于调度问题较不敏感,但对于这种特性也可以获益。因此,特定实施例在大多数情况下(通过或者失败)都比标准的可达性算法以及分区方法快得多。当在共享存储器并行体系结构的环境下评估时,收益增大。
已经使用了特定实施例来描述本发明,本领域的技术人员可以领会对用于描述本发明的特定实施例的一个或更多个变化、替换、变形、改变或者修改。本发明包括在所附权利要求书的范围内的全部这些变化、替换、变形、改变和修改。

Claims (20)

1、一种用于多线程可达性分析的方法,所述方法包括以下步骤:
将所分析电路的状态空间划分为多个分区;
将各个分区指配给线程,以对指配给该线程的分区执行可达性分析,多个线程彼此并行地执行对所述多个分区的可达性分析;以及
使用一个或更多个早期通信算法和局部通信算法来从所述多个分区中的一个或更多个第一分区向所述多个分区中的一个或更多个第二分区传送状态,以帮助所述多个分区中的第二分区的可达性分析;
其中,所述早期通信算法包括,在完成对应线程的可达性分析之后,立即从所述多个分区中的一个或更多个第一分区向所述多个分区中的一个或更多个第二分区传送状态;
其中,所述局部通信算法包括,响应于所述多个分区中的一个或更多个第一分区变为空闲,在完成对应线程的可达性分析之前,从所述多个分区中的一个或更多个第二分区向所述多个分区中的一个或更多个第一分区传送状态的子集。
2、根据权利要求1所述的方法,其中,所述多个线程中的两个或更多个使用共享的存储器。
3、根据权利要求1所述的方法,其中,由单个处理器执行所述多个线程中的两个或更多个。
4、根据权利要求1所述的方法,其中,一个或更多个可达性分析中的每一个都包括一个或更多个有限状态机的宽度优先遍历。
5、根据权利要求1所述的方法,其中,一个或更多个可达性分析中的每一个都包括一个或更多个用于生成一组可达状态的最小固定点计算。
6、根据权利要求5所述的方法,其中,最小固定点计算包括直到图像计算达到固定点为止执行的一系列图像计算。
7、根据权利要求1所述的方法,其中,根据早期通信算法,所述多个分区中的第一个分区在该第一分区达到最小固定点之后将该第一分区中的一个或更多个已达状态传送给所述多个分区中的一个或更多个第二分区。
8、根据权利要求7所述的方法:
其中,当第一分区传送了已达状态时,一个第二分区尚未达到最小固定点;
响应于已达状态的传送,所述第二分区并入所传送状态并且重新开始该第二分区中的当前图像计算,以改进该第二分区中的可达性分析。
9、根据权利要求7所述的方法:
其中,当第一分区传送了已达状态时,一个第二分区已经达到最小固定点并且是空闲的;
响应于已达状态的传送,所述第二分区并入所传送状态并且重新开始该第二分区中的可达性分析,对所传送状态的并入有助于至少该第二分区中的可达性的进一步推进。
10、根据权利要求1所述的方法,其中,多个计算机系统执行所述多个线程。
11、一种用于多线程可达性分析的系统,该系统包括:
划分装置,将所分析电路的状态空间划分为多个分区;
指配装置,将各个分区指配给线程,以对指配给该线程的分区执行可达性分析,多个线程彼此并行地执行对所述多个分区的可达性分析;以及
传送装置,使用一个或更多个早期通信算法和局部通信算法,来从所述多个分区中的一个或更多个第一分区向所述多个分区中的一个或更多个第二分区传送状态,以帮助所述多个分区中的第二分区的可达性分析;
其中,所述早期通信算法包括,在完成对应线程的可达性分析之后,立即从所述多个分区中的一个或更多个第一分区向所述多个分区中的一个或更多个第二分区传送状态;
其中,所述局部通信算法包括,响应于所述多个分区中的一个或更多个第一分区变为空闲,在完成对应线程的可达性分析之前,从所述多个分区中的一个或更多个第二分区向所述多个分区中的一个或更多个第一分区传送状态的子集。
12、根据权利要求11所述的系统,其中,所述多个线程中的两个或更多个使用共享的存储器。
13、根据权利要求11所述的系统,其中,所述划分装置、所述指配装置和所述传送装置由单个处理器执行。
14、根据权利要求11所述的系统,其中,一个或更多个可达性分析中的每一个都包括一个或更多个有限状态机的宽度优先遍历。
15、根据权利要求11所述的系统,其中,一个或更多个可达性分析中的每一个都包括一个或更多个用于生成一组可达状态的最小固定点计算。
16、根据权利要求15所述的系统,其中,最小固定点计算包括直到图像计算达到固定点为止执行的一系列图像计算。
17、根据权利要求11所述的系统,其中,根据早期通信算法,所述多个分区中的第一个分区在该第一分区达到最小固定点之后将该第一分区中的一个或更多个已达状态传送给所述多个分区中的一个或更多个第二分区。
18、根据权利要求17所述的系统:
其中,当第一分区传送了已达状态时,一个第二分区尚未达到最小固定点;
响应于已达状态的传送,所述第二分区并入所传送状态并且重新开始该第二分区中的当前图像计算,以改进该第二分区中的可达性分析。
19、根据权利要求17所述的系统:
其中,当第一分区传送了已达状态时,一个第二分区已经达到最小固定点并且是空闲的;
响应于已达状态的传送,所述第二分区并入所传送状态并且重新开始该第二分区中的可达性分析,对所传送状态的并入有助于至少该第二分区中的可达性的进一步推进。
20、根据权利要求11所述的系统,其中,多个计算机系统执行所述多个线程。
CN200610087935A 2005-06-07 2006-06-07 多线程可达性 Expired - Fee Related CN100593169C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US68809405P 2005-06-07 2005-06-07
US60/688,094 2005-06-07
US11/421,979 2006-06-02

Publications (2)

Publication Number Publication Date
CN101034417A CN101034417A (zh) 2007-09-12
CN100593169C true CN100593169C (zh) 2010-03-03

Family

ID=37980636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610087935A Expired - Fee Related CN100593169C (zh) 2005-06-07 2006-06-07 多线程可达性

Country Status (3)

Country Link
US (1) US7594195B2 (zh)
JP (1) JP4852346B2 (zh)
CN (1) CN100593169C (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595659B2 (en) * 2006-10-31 2013-11-26 Fujitsu Limited Verification and reachability using an organic approach
US8056066B2 (en) * 2007-08-22 2011-11-08 International Business Machines Corporation Method and apparatus for address taken refinement using control flow information
US8068895B2 (en) * 2008-02-25 2011-11-29 Devicor Medical Products, Inc. Biopsy site marker deployment instrument
US8677298B1 (en) 2013-01-04 2014-03-18 Altera Corporation Programmable device configuration methods adapted to account for retiming
US8645885B1 (en) * 2013-01-04 2014-02-04 Altera Corporation Specification of multithreading in programmable device configuration
US8713496B1 (en) 2013-01-04 2014-04-29 Altera Corporation Specification of latency in programmable device configuration
US8896344B1 (en) 2013-01-04 2014-11-25 Altera Corporation Heterogeneous programmable device and configuration software adapted therefor
US8863059B1 (en) 2013-06-28 2014-10-14 Altera Corporation Integrated circuit device configuration methods adapted to account for retiming
US9384311B1 (en) 2014-07-25 2016-07-05 Altera Corporation Programmable device configuration methods incorporating retiming

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871341B1 (en) * 2000-03-24 2005-03-22 Intel Corporation Adaptive scheduling of function cells in dynamic reconfigurable logic
US7146605B2 (en) * 2001-01-15 2006-12-05 International Business Machines Corporation Automatic abstraction of software source
US7305582B1 (en) * 2002-08-30 2007-12-04 Availigent, Inc. Consistent asynchronous checkpointing of multithreaded application programs based on active replication
US7788556B2 (en) * 2002-11-13 2010-08-31 Fujitsu Limited System and method for evaluating an erroneous state associated with a target circuit
JP2004213629A (ja) * 2002-12-17 2004-07-29 Canon Inc 情報処理装置、情報処理システム、情報処理方法、及び記憶媒体
US7124383B2 (en) * 2003-05-15 2006-10-17 Cadence Design Systems, Inc. Integrated proof flow system and method
US7340702B2 (en) * 2003-07-23 2008-03-04 Cadence Design Systems, Inc. Method and apparatus for induction proof
US7493544B2 (en) * 2005-01-21 2009-02-17 Microsoft Corporation Extending test sequences to accepting states

Also Published As

Publication number Publication date
JP2007095029A (ja) 2007-04-12
JP4852346B2 (ja) 2012-01-11
US7594195B2 (en) 2009-09-22
US20070124711A1 (en) 2007-05-31
CN101034417A (zh) 2007-09-12

Similar Documents

Publication Publication Date Title
CN100593169C (zh) 多线程可达性
CN110619595B (zh) 一种基于多fpga加速器互联的图计算优化方法
US20160098292A1 (en) Job scheduling using expected server performance information
US20150227586A1 (en) Methods and Systems for Dynamically Allocating Resources and Tasks Among Database Work Agents in an SMP Environment
Kang et al. Lalarand: Flexible layer-by-layer cpu/gpu scheduling for real-time dnn tasks
US10719366B1 (en) Dynamic and selective hardware acceleration
KR20140080434A (ko) 맵리듀스 프레임워크에서 데이터 프로세싱의 최적화를 위한 디바이스 및 방법
US10862765B2 (en) Allocation of shared computing resources using a classifier chain
Liu et al. Dependency-aware and resource-efficient scheduling for heterogeneous jobs in clouds
CN111507257B (zh) 图片处理方法、装置、系统、介质及程序
Ling et al. Joint scheduling of MapReduce jobs with servers: Performance bounds and experiments
CN110990154A (zh) 一种大数据应用优化方法、装置及存储介质
CN116136783A (zh) 多加速器框架中的高效加速器卸载
Ghazali et al. A classification of Hadoop job schedulers based on performance optimization approaches
Zuk et al. Reducing response latency of composite functions-as-a-service through scheduling
Davidović et al. Parallel local search to schedule communicating tasks on identical processors
US10642657B2 (en) Client-server architecture for multicore computer system to realize single-core-equivalent view
Shiekh et al. A load-balanced hybrid heuristic for allocation of batch of tasks in cloud computing environment
CN108009074B (zh) 一种基于模型和动态分析的多核系统实时性评估方法
Maalej et al. CUDA-accelerated task scheduling in vehicular clouds with opportunistically available V2I
Cai et al. Chrion: Optimizing Recurrent Neural Network Inference by Collaboratively Utilizing CPUs and GPUs
Chen et al. Task scheduling for heterogeneous multicore systems
López‐Albelda et al. Heuristics for concurrent task scheduling on GPUs
Yin et al. Scalscheduling: A scalable scheduling architecture for MPI-based interactive analysis programs
Lázaro-Muñoz et al. A Scheduling Theory Framework for GPU Tasks Efficient Execution

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100303

Termination date: 20160607