CN102467586A - 用于集成电路设计的分布式并行最小代价流方法及装置 - Google Patents

用于集成电路设计的分布式并行最小代价流方法及装置 Download PDF

Info

Publication number
CN102467586A
CN102467586A CN2010105352973A CN201010535297A CN102467586A CN 102467586 A CN102467586 A CN 102467586A CN 2010105352973 A CN2010105352973 A CN 2010105352973A CN 201010535297 A CN201010535297 A CN 201010535297A CN 102467586 A CN102467586 A CN 102467586A
Authority
CN
China
Prior art keywords
minimum cost
processor
flow
core
integrated circuit
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.)
Granted
Application number
CN2010105352973A
Other languages
English (en)
Other versions
CN102467586B (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.)
Fudan University
Original Assignee
Fudan University
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 Fudan University filed Critical Fudan University
Priority to CN201010535297.3A priority Critical patent/CN102467586B/zh
Publication of CN102467586A publication Critical patent/CN102467586A/zh
Application granted granted Critical
Publication of CN102467586B publication Critical patent/CN102467586B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明属于集成电路领域,涉及一种用于集成电路设计的分布式并行最小代价流方法及装置。本发明的方法为每个处理器维持一个任务队列进行分布式的调度,能够有效减小任务队列访问冲突,在更多处理器核的情况下,能够得到更好的加速比。应用本发明方法的装置包括输入单元、输出单元、程序存储单元、外部总线、内存、存储管理单元、输入输出桥接单元、系统总线和多核处理器。本发明的分布式并行最小代价流方法相比中央队列调度的并行最小代价流方法可以获得更高的加速比。本发明可应用于求解一大类集成电路设计自动化问题的多核并行实现。

Description

用于集成电路设计的分布式并行最小代价流方法及装置
技术领域
本发明属于集成电路领域,涉及一种用于集成电路设计的分布式并行最小代价流方法及装置。
背景技术
随着CMOS集成电路工艺的缩小,现在超大规模集成电路(VLSI)设计自动化软件为了处理包含数十亿晶体管的设计,占用越来越多的计算资源。与此同时,由于功耗和散热的限制,处理器的频率上升趋于停滞,取而代之的是多核处理器。在目前的商用市场上,多核处理器已经成为一种主流产品(1)-(2)。在集成电路设计自动化领域,怎样借助多核计算机系统来提升集成电路设计性能和效率也成为了目前国际研究的热点(3)-(6)。
集成电路设计自动化中的很多实际问题都可转化为最小代价流的问题,这些问题包括低功耗设计中的电压分配问题(8)、逻辑电路的尺寸调整问题(11)、时钟偏斜优化问题(9)、版图规划的面积最小化问题(7)以及布局中的线网长度最小化问题(12)等。最小代价流是集成电路设计自动化中的基本问题。对最小代价流问题求解的并行化,可以实现对一大类集成电路设计自动化问题地并行化。
在文献(13)中,提出了一种基于多核的最小代价流方法,但其并行调度使用了中央队列存储有效任务,在处理器核比较多的情况下会出现中央队列访问冲突加剧,影响并行处理性能。因此,该方法不能有效地随着处理器核的数目进行加速,该方法的实用性会随着未来的多核数目增加而减小。
与本发明相关的现有技术有如下参考文献:
 (1) J. F. et al. Design of the Power6 microprocessor. In ISSCC, 2007.
(2) U. G. et al. An 8-core 64-thread 64b power-efficient SPARC SoC. In ISSCC, 2007.
(3) B. Catanzaro, K. Keutzer, and B. Y. Su. Parallelizing CAD: A timely research agenda for EDA. In DAC, 2008.
(4) W. Dong, P. Li, and X. Ye. Wavepipe: Parallel transient simulation of analog and digital circuits on multi-core shared-memory machines. In DAC, 2008.
(5) T. Mattson and M. Wrinn. Parallel programming: Can we please get it right this time? In DAC, 2008.
(6) X.-J. Ye, W. Dong, P. Li, and S. Nassif. MAPS: multi-algorithm parallel circuit simulation. In ICCAD, 2008.
(7) C. Lin, H. Zhou, and C. Chu. A revisit to floorplan optimization by lagrangian relaxation. In ICCAD, 2006.
(8) Q. Ma and E. F. Y. Young. Network flow-based power optimization under timing constraints in MSV-driven floorplanning. In ICCAD, 2008.
(9) C. Lin and H. Zhou. Clock skew scheduling with delay padding for prescribed skew domains. In ASPDAC, 2007.
(10) X.-P. Tang, R.-Q. Tian, and D. F. Wong. Minimizing wire length in floorplanning. IEEE Trans. on CAD, 25(9):1744–1753, 2006.
(11) J. Wang, D. Das, and H. Zhou. Gate sizing by lagrangian relaxation revisited. In ICCAD, 2007.
(12) J. Wang and H. Zhou. An efficient incremental algorithm for min-area retiming. In DAC, 2008.
(13) Y. Lu, H. Zhou, L. Shang and X. Zeng. Multicore Parallel Min-Cost Flow for CAD Applications. In DAC, 2009.
发明内容
本发明的目的是克服现有技术的缺陷和不足,提供一种用于集成电路设计的分布式并行最小代价流方法及装置;具体而言,本发明提供的方法实现集成电路设计自动化中低功耗设计的电压分配、逻辑电路的尺寸调整、时钟偏斜优化、版图规划的面积最小化以及布局设计的线网长度最小化等一大类问题的并行化;不同于Y. Lu, H. Zhou, L. Shang and X. Zeng等人在IEEE/ACM Design Automation Conference 2009中发表论文“Multicore Parallel Min-Cost Flow for CAD Applications”提出的中央队列调度在处理器核比较多的情况下会出现中央队列访问冲突加剧,影响并行处理性能,本发明提供的方法使用分布式任务调度管理,能够有些解决中央调度的数据冲突问题以及随之带来的性能降低。
本发明提供的方法是一种分布式并行最小代价流方法,如图2所示,该方法步骤如下:
步骤1:将集成电路设计自动化问题转化为最小代价流问题;
步骤2:初始化每个处理器核上的任务信息;
步骤3:对于每个处理器核利用并行最小代价流从处理网络图;
分步骤31:从该处理器的任务队列顶部中抓取一定的数量的过剩流节点;如果自身任务队列为空,尝试随机从其他处理器队列的底部获取一个任务进行处理;
分步骤32:对于每一个过剩流节点进行二次检测确定其需要处理;
分步骤33:对需要处理的过剩流节点进行推流或重标记操作;将新产生的过剩流节点放入自身任务队列的顶部;
分步骤34:与其他处理器核进行同步;
分步骤35:同步成功时,减小收缩因子;否则返回分步骤1;
步骤4:后处理最小代价流的结果得到集成电路设计自动化问题的解。
本发明中所述的步骤采用C、C++或FORTRAN等编程语言编译得到多核并行最小代价流求解程序。
本发明提供的一种采用上述分布式并行最小代价流方法工作的装置(212)包括输入单元(202)、输出单元(203)、程序存储单元(205)、内存(206)、存储管理单元(207)、输入输出桥接单元(208)、多核处理器(209)、外部总线(210)和系统总线(211)。
所述的输入单元(202)、输出单元(203)和程序存储单元(205)直接连接到所述的外部总线(210);外部总线(210)通过输入输出桥接单元(208)与所述的系统总线(211)相连;所述的内存(206)通过存储管理单元(207)连接到系统总线(211);所述的多核处理器(209)中的n个处理器核直接连接到系统总线(211),所述的n个处理器核可以属于一个CPU或属于多个CPU;在程序存储单元(205)中存储有多核并行最小代价流求解程序(204)。
所述的多核处理器(209)的n个处理器核共享使用相同的内存(206)并通过共享内存来进行通信。
所述的分布式并行最小代价流求解装置(212)通过输入单元(202)输入集成电路设计自动化问题(201)至内存(206);同时,多核并行最小代价流求解程序(204)也被载入内存(206);多核处理器(209)执行分布式并行最小代价流求解程序(204)对集成电路设计自动化问题进行处理,求解结果以图形或文本的形式经过输出单元(203)提供给用户。
所述的输入单元(202)可以是键盘、外部存储设备或网络连接。
本发明的一种用于集成电路设计的分布式并行最小代价流方法及装置具有如下优点:
1. 本发明的分布式并行最小代价流方法可以很好地利用现有的多核处理器计算机来提升最小代价流的解决时间。实验表明本发明的方法在拥有8个处理器核的计算机上相对于传统串行方法可以达到5倍的速度提升。
2. 本发明提出的分布式并行最小代价流方法可以应用于任何数目的多核处理器,程序本身不需要重新修改或编译。这样的方可以很好地跟进目前主流处理器核数目的增加。
3. 相比于基于中央队列调度的并行最小代价流方法,本发明提出的分布式并行最小代价流方法能够有效减小任务队列访问冲突。在更多处理器核的情况下,能够得到更好的加速比。
本发明随着处理电路规模的扩大,速度提升快;本发明可应用于求解一大类集成电路设计自动化问题的多核并行实现,应用前景良好。
为了便于理解,下面通过附图和具体实施例对本发明进行详细的描述。需要特别指出的是,具体实施例和附图仅是为了说明,显然本领域的技术人员可以根据本文说明,对本发明进行各种修正或改变,这些修正和改变也将纳入本发明范围之内。
 
附图说明
图1是本发明基于多处理器核并行的分布式最小代价流求解方法流程图;
图2是本发明基于多处理器核并行的分布式最小代价流求解装置的结构示意图;其中,201是集成电路设计自动化问题,202是输入单元,203是输出单元,204是多核并行最小代价流求解程序,205是程序存储单元,206是内存,207是存储管理单元,208是输入输出桥接单元,209是多核处理器,210是外部总线,211是系统总线,212是分布式并行最小代价流求解装置。
图3是本发明的版图规划阶段的电压分配示意图。
图4是本发明分布式调度示意图。
图5是本发明提出的分布式并行电压分配方法和Y. Lu, H. Zhou, L. Shang and X. Zeng等人在IEEE/ACM Design Automation Conference 2009中发表论文“Multicore Parallel Min-Cost Flow for CAD Applications”中的基于多核的中央调度并行电压分配方法的加速性能比较图。
具体实施方式
实施例1
如图2所示,本发明基于多处理器核并行的分布式最小代价流求解装置(212),包括输入单元(202)、输出单元(203)、程序存储单元(205)、外部总线(210)、内存(206)、存储管理单元(207)、输入输出桥接单元(208)、系统总线(211)和包含n个处理器核的CPU( 209),所述的n个处理器核可以属于一个CPU或属于多个CPU,多个处理器核共享使用相同的内存单元(206)并通过共享内存来进行通信。
所述的装置求解集成电路设计自动化问题时,首先通过输入单元(202)输入集成电路设计自动化问题(201)至内存(206),输入单元可以是键盘、外部存储设备或网络连接;同时,多核并行最小代价流求解程序(204)也被载入内存;多核处理器(209)执行多核并行最小代价流求解程序(204)对集成电路设计自动化问题进行求解,求解结果经过输出单元以图形或文本的形式通过输出单元(203)提供给用户。
本发明所述装置的典型实例为一台包含4GB内存、带有两个Intel Xeon 双核3.0GHz CPU以及硬盘驱动器的工作站,处理器(209)利用Linux操作系统来执行程序存储单元(205)所存储的本发明所提出的多核并行最小代价流求解程序(204)。
以下通过集成电路设计中的版图规划阶段的最优电压分配问题,说明本发明的具体实施方式。
在现代电路设计中,电路功耗成为了一个很大的问题。对于电路中的每个功能宏模块分配不同的电源电压可以使设计者在功耗和性能之间做出权衡,对于性能要求不高的模块可以降低供电电压以减小功耗,对于性能要求较高的模块则以较高的供电电压供电以保证其性能。在图3给出了电压分配的示意图。求解电压分配问题的多核分布式并行最小代价流方法步骤如下:
步骤1:将电压分配问题转化为最小代价流问题。具体步骤如下:
分步骤11:读取电路宏模块网表和供电选择方案。
电路宏模块网表表示了电路宏模块之间的连接关系。电路的供电选择方案包括每一个宏模块可选的供电电压                                                
Figure 612861DEST_PATH_IMAGE001
,以及在这些供电电压下宏模块对应的功耗
Figure 946890DEST_PATH_IMAGE002
及延时
Figure 85748DEST_PATH_IMAGE003
。宏模块的功耗、延时和供电电压一一对应,为单调函数关系。
分步骤12:建立基本时序约束图。
电路网表可以表示为一个有向无环图(DAG),每个宏模块的输入和输出形成两个节点,这些节点的集合记为V。每个宏模块输入和输出两个节点由有向边相连,这些有向边构成的集合记为
Figure 669176DEST_PATH_IMAGE004
,而每个模块之间也有有向边连接表示电路的拓扑关系,这些有向边构成的集合记为
Figure 387733DEST_PATH_IMAGE005
。所有的有向边构成的集合为
Figure 373007DEST_PATH_IMAGE006
。从而,这一有向无环图可表示为
Figure 400874DEST_PATH_IMAGE007
。在有向无环图
Figure 471598DEST_PATH_IMAGE007
中,每个宏模块可以用其输入节点i到输出节点j的有向边来表示。本发明的优化目标是在满足时序约束的情况下最小化整个电路的功耗。这个优化问题可以被写下面的凸规划问题:
      
Figure 833627DEST_PATH_IMAGE009
              (1)
如果有向边
Figure 314287DEST_PATH_IMAGE010
,它表示的是一个宏模块,那么
Figure 75569DEST_PATH_IMAGE011
表示的是有向边
Figure 932667DEST_PATH_IMAGE008
宏模块内部的电压选择,
Figure 747356DEST_PATH_IMAGE013
表示与该模块供电电压
Figure 792672DEST_PATH_IMAGE011
对应的时延和功耗。如果有向边
Figure 905991DEST_PATH_IMAGE014
,它对应的是模块之间的连接,那么
Figure 454784DEST_PATH_IMAGE012
Figure 11667DEST_PATH_IMAGE013
均为0。
Figure 278700DEST_PATH_IMAGE015
表示第i个节点的到达时间,表示电路的时钟周期,而
Figure 349742DEST_PATH_IMAGE017
表示宏模块可选的供电电压。上述规划问题(1)中目标就是要最小化模块功耗总和。第一个不等式约束表明模块输入到达时间加上模块延迟不大于模块输出的到达时间;第二个不等式约束表明电路节点i的到达时间必须大于零小于电路时钟周期;最后一个约束是说明模块的可选电压必须从可选择的供电电压中选择。
上述规划问题可以使用Q. Ma and E. F. Y. Young.等人在2008年IEEE/ACM International Conference on Computer Aided Design会议中的论文 Network flow-based power optimization under timing constraints in MSV-driven floorplanning中的方法转化成为一个最小代价流问题。其中上述DAG中每个节点对应最小代价流问题网络图中的一个节点。最小代价流问题网络图中的边
Figure 608685DEST_PATH_IMAGE018
及权重
Figure 831856DEST_PATH_IMAGE019
对应每一个模块以及模块的一种电压选择。网络图中每一个节点有一个对偶变量
Figure 568867DEST_PATH_IMAGE015
表示该节点的到达时间,对应于(1)式中的
Figure 92253DEST_PATH_IMAGE015
。该对偶变量的值可以通过求解最小代价流问题一并解得,利用
Figure 240206DEST_PATH_IMAGE015
的结果可以在步骤6中,求解出规划问题(1)中的电压分配方案。由电压分配问题(1)转化得到的最小代价流问题的描述如下
      
Figure 216252DEST_PATH_IMAGE020
                        (2)
 s.t.    
Figure 225797DEST_PATH_IMAGE021
                    (3)
Figure 869268DEST_PATH_IMAGE022
                 (4)
其中
Figure 204434DEST_PATH_IMAGE019
Figure 402197DEST_PATH_IMAGE023
Figure 481012DEST_PATH_IMAGE024
是边上的权重,流以及边的容量上界。最小代价流问题就是要得到满足约束(4)的最小代价流,而且每条边上的流要满足上下界约束(3)。
步骤2:初始化每个处理器核上的任务信息。需要初始化的信息包括,每个节点上的自价
Figure 447831DEST_PATH_IMAGE025
,每条边上的初始流
Figure 953898DEST_PATH_IMAGE026
以及初始的缩放因子
Figure 888225DEST_PATH_IMAGE027
,即最大的边权重。此外,每个处理器核初始化自己的双向过剩流节点任务队列为空。这些静态信息可以由各个处理器核分工完成,也可以由单个处理器核独立完成。此外初始过程中,对于一些不满足下列情况的节点进行推流操作:
                                        
 其中
Figure 123214DEST_PATH_IMAGE029
为一条边的缩减代价(reduced cost)。上述操作会产生一些过剩流节点,即
Figure 534604DEST_PATH_IMAGE030
的节点,将这些节点存储在各自的任务节点qi中,其中i是处理器核的编号。
步骤3:对于每个处理器核利用并行最小代价流从处理时序约束图,具体分步骤如下:
分步骤31:从该处理器的任务队列顶部中抓取一定的数量的过剩流节点。每个处理器核i都有自己私有的支持双向访问的任务队列qi。当任务开始时,每个处理器核首先尝试从自己的任务队列qi的顶部选取一些过剩流节点等待以进行后续处理。当由于没有过剩流节点而qi为空时,处理器i尝试随机从其他处理器j的队列qj的底部偷取一个过剩流节点进行处理。整个分布式任务获取的过程如图3所示。通过偷取其他处理器核的活跃节点保持自身忙碌于执行有效操作,分布式调度在本质上与中央调度一样是一种灵活的调度方式,可以更好地达到不同处理器核之间的作业平衡。此外,更重要的是,通过使用分散在各个处理器核中支持两端同时无锁 (Lock-Free) 访问的双向队列,分布式调度解决了中央调度中全局队列高访问冲突的问题。当任务偷取不成功时,该处理器此次操作循环结束,跳向分步骤34。
分步骤32:对于每一个过剩流节点进行二次检测确定其需要处理。当处理器核i开始处理其私有输入缓冲中的一个过剩流节点a时,由于同时还有其他的处理器核在进行操作,首先要检查其是否因为其他处理器的推流操作影响而变成流平衡。如果流平衡,则没有必要进行后续操作。对于每个节点都保存着其过剩流
Figure 910222DEST_PATH_IMAGE031
的值,判断这个值是否为零就可以决定是否需要处理。
此外,为了对某一个节点a完成推流或者重标记的操作,处理器核i必须首先检查并获取对该节点及其推流目标节点的资源控制权。对于每一个节点,设置一个原子整数类型(atomic integer)的令牌,用于各处理器核之间的通信协调。为了保证检查和占用资源操作的原子性,本发明中使用基本的处理器指令compare_and_swap进行检查:
if(a.token.compare_and_swap(BUSY, IDLE)==IDLE)
    处理节点;
else
    跳过该节点;
上述操作可以在由当前主流计算机硬件支持保证检测节点资源空闲和占用资源的操作为原子操作。
分步骤33:对需要处理的过剩流节点进行推流或重标记操作;当处理器核占有了对节点资源的使用权,便可以对流过剩节点进行推流和重标记的操作。具体的操作流程见图5。首先检查过剩流节点i对于其流出边和流出节点的缩减代价,如果缩减代价
Figure 330839DEST_PATH_IMAGE032
则进行推流操作直到节点i达到流平衡
Figure 521518DEST_PATH_IMAGE033
。如果对所有的出边都不符合缩减代价条件,则对i节点的自价做重标记
Figure 369388DEST_PATH_IMAGE034
,这样在下次检测中就会有可能使符合推流条件。
在推流操作中,由于把当前节点的过剩流推到了目标节点j,所以j节点也有可能成为了新的流过剩节点,每个处理器核i在推流时都检测出新的过剩流节点并将其存在自有的双向任务队列qi顶部。
分步骤34:与其他处理器核进行同步。当单个处理器核i处理完其私有输入队列的流过剩节点并发现全局队列Q为空时,它开始与其他处理器核进行同步。只有当所有处理器核全都空闲时,在当前缩放因子
Figure 987768DEST_PATH_IMAGE035
下的电压分配过程才算是结束。本发明使用终止检测壁垒(termination detection barrier, TDB)来实现同步。一个TDB包含了一个原子整数类型(atomic integer)的计数器,在分配开始时初始化为0。当每个处理器核从空闲转到处理状态时,通知TDB的计数器加1;反之当每个处理器核从处理状态转到空闲状态时,通知TDB的计数器减1。每次处理器核在空闲状态时,就检查TDB的计数器是否为0,如果为零则说明档次分配已经结束,否则说明还有其他处理器核在工作。
分步骤35:同步成功时,减小收缩因子;否则返回分步骤1;当TDB返回0时说明当前
Figure 314844DEST_PATH_IMAGE035
下的分配已经结束,则每个处理核统一把缩放因子
Figure 68037DEST_PATH_IMAGE035
减半进行下一轮的分配,即再返回步骤103进行操作。注意此时
Figure 480563DEST_PATH_IMAGE035
已经减半。当TDB返回大于0的数时说明还有其他处理器核在工作,他们的处理结果可能会产生新的流过剩节点,所以当前处理器核必须返回分步骤1开始检测全局队列Q并获取潜在的新的流过剩节点。
步骤4:后处理最小代价流的结果并得到电压分配方案。当缩放因子时(n是时序约束节点的总个数),整个最小代价流的算法已经结束。结束时得到了每个节点上的自价
Figure 893407DEST_PATH_IMAGE015
,也就是节点的到达时间。对于电路来说,节点对应了宏模块的输入输出,找到宏模块对应的输入输出节点的自价
Figure 66769DEST_PATH_IMAGE015
Figure 966591DEST_PATH_IMAGE037
,计算出其中的时延
Figure 532702DEST_PATH_IMAGE038
。由于时延和电压有单调对应关系,我们就可以进一步得到每个模块分配的电压
Figure 37633DEST_PATH_IMAGE011
实施例2
本发明对版图规划测试实例n200-n1600进行时序约束下的最优电压分配。测试例子中的数字表明了电路中的宏模块数量。在本实例中采用的多核处理装置是一台拥有四个Intel dualcore CPU和2G内存的计算机,最多支持8个处理器核同时运行。
如图5所示,图中显示了电压分配的结果与Y. Lu, H. Zhou, L. Shang and X. Zeng等人在IEEE/ACM Design Automation Conference 2009中发表论文“Multicore Parallel Min-Cost Flow for CAD Applications”的方法的相对于传统串行电压分配方法的提速比较。从图5结果可以观察到本发明提出的分布式并行方法相对于Y. Lu, H. Zhou, L. Shang and X. Zeng等人在IEEE/ACM Design Automation Conference 2009中发表论文“Multicore Parallel Min-Cost Flow for CAD Applications”中提出的中央队列调度的方法的速度有了显著的提升,特别是在处理器核逐渐增多的情况下尤为明显。而在8个处理器核的情况下,本发明的电压分配加速比达到了5.2倍,而相比较Y. Lu, H. Zhou, L. Shang and X. Zeng等人在IEEE/ACM Design Automation Conference 2009中发表论文“Multicore Parallel Min-Cost Flow for CAD Applications”中的中央队列调度方法只能达到2.8倍左右的加速比。
以上实施例的结果表明,本发明随着处理电路规模的扩大,速度提升更快,而随着集成电路技术的发展,越来越多核的计算机将会出现,而需要处理的电路规模也会越来越大,本发明的应用前景良好。

Claims (3)

1.一种用于集成电路设计的分布式并行最小代价流方法,其特征在于,其包括如下步骤:
步骤1:将集成电路设计自动化问题转化为最小代价流问题;
步骤2:初始化每个处理器核上的任务信息;
步骤3:对于每个处理器核利用并行最小代价流从处理网络图;
分步骤31:从该处理器的任务队列顶部中抓取一定的数量的过剩流节点;如果自身任务队列为空,尝试随机从其他处理器队列的底部获取一个任务进行处理; 
分步骤32:对于每一个过剩流节点进行二次检测确定其需要处理;
分步骤33:对需要处理的过剩流节点进行推流或重标记操作;将新产生的过剩流节点放入自身任务队列的顶部;
分步骤34:与其他处理器核进行同步;
分步骤35:同步成功时,减小收缩因子;否则返回分步骤1;
步骤4:后处理最小代价流的结果得到集成电路设计自动化问题的解。
2.按权利要求1所述的用于集成电路设计的分布式并行最小代价流方法,其特征在于,所述的方法采用C、C++或FORTRAN等编程语言编译得到多核并行最小代价流求解程序。
3.一种采用权利要求1所述的分布式并行最小代价流方法工作的装置(212),其特征在于,包括输入单元(202)、输出单元(203)、程序存储单元(205)、内存(206)、存储管理单元(207)、输入输出桥接单元(208)、多核处理器(209)、外部总线(210)和系统总线(211);
其中,
所述输入单元(202)、输出单元(203)和程序存储单元(205)直接连接到所述外部总线(210);外部总线(210)通过输入输出桥接单元(208)与所述系统总线(211)相连;所述内存(206)通过存储管理单元(207)连接到系统总线(211);所述多核处理器(209)中的n个处理器核直接连接到系统总线(211),所述n个处理器核属于一个CPU或属于多个CPU;在程序存储单元(205)中存储有多核并行最小代价流求解程序(204);
所述的多核处理器(209)的n个处理器核共享使用相同的内存(206)并通过共享内存来进行通信;
所述的最小代价流求解装置(212)通过输入单元(202)输入集成电路设计自动化问题(201)至内存(206);同时,多核并行最小代价流求解程序(204)也被载入内存(206);多核处理器(209)执行并行多核并行最小代价流求解程序(204)对集成电路设计自动化问题进行处理,求解结果以图形或文本的形式经过输出单元(203)提供给用户。
CN201010535297.3A 2010-11-08 2010-11-08 用于集成电路设计的分布式并行最小代价流方法及装置 Active CN102467586B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010535297.3A CN102467586B (zh) 2010-11-08 2010-11-08 用于集成电路设计的分布式并行最小代价流方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010535297.3A CN102467586B (zh) 2010-11-08 2010-11-08 用于集成电路设计的分布式并行最小代价流方法及装置

Publications (2)

Publication Number Publication Date
CN102467586A true CN102467586A (zh) 2012-05-23
CN102467586B CN102467586B (zh) 2015-04-22

Family

ID=46071223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010535297.3A Active CN102467586B (zh) 2010-11-08 2010-11-08 用于集成电路设计的分布式并行最小代价流方法及装置

Country Status (1)

Country Link
CN (1) CN102467586B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112379981A (zh) * 2020-11-12 2021-02-19 中国人民解放军海军工程大学 面向分布式实时仿真任务的无锁同步方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060028992A1 (en) * 2004-08-09 2006-02-09 Per Kangru Method and apparatus to distribute signaling data for parallel analysis
CN101588388A (zh) * 2009-05-26 2009-11-25 中国科学院软件研究所 一种基于分布式适配的服务协作方法及其系统
CN101739398A (zh) * 2008-11-11 2010-06-16 山东省标准化研究院 分布式数据库多连接查询优化算法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060028992A1 (en) * 2004-08-09 2006-02-09 Per Kangru Method and apparatus to distribute signaling data for parallel analysis
CN101739398A (zh) * 2008-11-11 2010-06-16 山东省标准化研究院 分布式数据库多连接查询优化算法
CN101588388A (zh) * 2009-05-26 2009-11-25 中国科学院软件研究所 一种基于分布式适配的服务协作方法及其系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《Design Automation Conference, 2009. DAC'09. 46th ACM/IEEE》 20090731 Yinghai Lu et al 《Multicore Parallel Min-Cost Flow Algorithm for CAD Applications》 832-837 1-3 , *
YINGHAI LU ET AL: "《Multicore Parallel Min-Cost Flow Algorithm for CAD Applications》", 《DESIGN AUTOMATION CONFERENCE, 2009. DAC’09. 46TH ACM/IEEE》 *
YINGHAI LU ET AL: "《Multicore Parallelization of Min-Cost Flow for CAD Applications》", 《COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEM,IEEE TRANSACTION ON》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112379981A (zh) * 2020-11-12 2021-02-19 中国人民解放军海军工程大学 面向分布式实时仿真任务的无锁同步方法
CN112379981B (zh) * 2020-11-12 2024-08-16 中国人民解放军海军工程大学 面向分布式实时仿真任务的无锁同步方法

Also Published As

Publication number Publication date
CN102467586B (zh) 2015-04-22

Similar Documents

Publication Publication Date Title
Cao et al. A survey of optimization techniques for thermal-aware 3D processors
Yavits et al. The effect of communication and synchronization on Amdahl’s law in multicore systems
Choi et al. Executing synchronous dataflow graphs on a SPM-based multicore architecture
Chen et al. An escheduler-based data dependence analysis and task scheduling for parallel circuit simulation
Tramm et al. Memory bottlenecks and memory contention in multi-core Monte Carlo transport codes
Tang et al. CPU–GPU utilization aware energy-efficient scheduling algorithm on heterogeneous computing systems
CN102193779A (zh) 一种面向MPSoC的多线程调度方法
Alle et al. Redefine: Runtime reconfigurable polymorphic asic
Sato et al. Co-design and system for the supercomputer “Fugaku”
Riedel et al. MemPool: A scalable manycore architecture with a low-latency shared L1 memory
US20130304450A1 (en) Method for Unified High-Level Hardware Description Language Simulation Based on Parallel Computing Platforms
Yang et al. Performance‐based parallel loop self‐scheduling using hybrid OpenMP and MPI programming on multicore SMP clusters
Xu et al. Energy-efficient accelerator design for deformable convolution networks
Yang et al. Study on static task scheduling based on heterogeneous multi-core processor
Ding et al. Memory-aware partitioning, scheduling, and floorplanning for partially dynamically reconfigurable systems
CN102467586A (zh) 用于集成电路设计的分布式并行最小代价流方法及装置
CN101964004B (zh) 用于集成电路设计的多核并行最小代价流方法及装置
Khaligh et al. A dynamic load balancing method for parallel simulation of accuracy adaptive TLMs
Pessoa et al. Parallel TLM simulation of MPSoC on SMP workstations: Influence of communication locality
Huang et al. A novel multi-CPU/GPU collaborative computing framework for SGD-based matrix factorization
Park et al. Efficient execution of augmented reality applications on mobile programmable accelerators
Issenin et al. Data-reuse-driven energy-aware cosynthesis of scratch pad memory and hierarchical bus-based communication architecture for multiprocessor streaming applications
Ma et al. Reducing code size in scheduling synchronous dataflow graphs on multicore systems
Liao et al. A scalable strategy for runtime resource management on NoC based manycore systems
Keceli Power and performance studies of the explicit multi-threading (XMT) architecture

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