CN102467586B - 用于集成电路设计的分布式并行最小代价流方法及装置 - Google Patents
用于集成电路设计的分布式并行最小代价流方法及装置 Download PDFInfo
- Publication number
- CN102467586B CN102467586B CN201010535297.3A CN201010535297A CN102467586B CN 102467586 B CN102467586 B CN 102467586B CN 201010535297 A CN201010535297 A CN 201010535297A CN 102467586 B CN102467586 B CN 102467586B
- Authority
- CN
- China
- Prior art keywords
- node
- stream
- minimum cost
- processor
- 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.)
- Active
Links
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:读取电路宏模块网表和供电选择方案。
电路宏模块网表表示了电路宏模块之间的连接关系。电路的供电选择方案包括每一个宏模块可选的供电电压 ,以及在这些供电电压下宏模块对应的功耗及延时。宏模块的功耗、延时和供电电压一一对应,为单调函数关系。
分步骤12:建立基本时序约束图。
电路网表可以表示为一个有向无环图(DAG),每个宏模块的输入和输出形成两个节点,这些节点的集合记为V。每个宏模块输入和输出两个节点由有向边相连,这些有向边构成的集合记为,而每个模块之间也有有向边连接表示电路的拓扑关系,这些有向边构成的集合记为。所有的有向边构成的集合为。从而,这一有向无环图可表示为。在有向无环图中,每个宏模块可以用其输入节点i到输出节点j的有向边来表示。本发明的优化目标是在满足时序约束的情况下最小化整个电路的功耗。这个优化问题可以被写下面的凸规划问题:
(1)
如果有向边,它表示的是一个宏模块,那么表示的是有向边宏模块内部的电压选择,和表示与该模块供电电压对应的时延和功耗。如果有向边,它对应的是模块之间的连接,那么和均为0。表示第i个节点的到达时间,表示电路的时钟周期,而表示宏模块可选的供电电压。上述规划问题(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中每个节点对应最小代价流问题网络图中的一个节点。最小代价流问题网络图中的边及权重对应每一个模块以及模块的一种电压选择。网络图中每一个节点有一个对偶变量表示该节点的到达时间,对应于(1)式中的。该对偶变量的值可以通过求解最小代价流问题一并解得,利用的结果可以在步骤6中,求解出规划问题(1)中的电压分配方案。由电压分配问题(1)转化得到的最小代价流问题的描述如下
(2)
s.t. (3)
(4)
其中,和是边上的权重,流以及边的容量上界。最小代价流问题就是要得到满足约束(4)的最小代价流,而且每条边上的流要满足上下界约束(3)。
步骤2:初始化每个处理器核上的任务信息。需要初始化的信息包括,每个节点上的自价,每条边上的初始流以及初始的缩放因子,即最大的边权重。此外,每个处理器核初始化自己的双向过剩流节点任务队列为空。这些静态信息可以由各个处理器核分工完成,也可以由单个处理器核独立完成。此外初始过程中,对于一些不满足下列情况的节点进行推流操作:
其中为一条边的缩减代价(reduced cost)。上述操作会产生一些过剩流节点,即的节点,将这些节点存储在各自的任务节点qi中,其中i是处理器核的编号。
步骤3:对于每个处理器核利用并行最小代价流从处理时序约束图,具体分步骤如下:
分步骤31:从该处理器的任务队列顶部中抓取一定的数量的过剩流节点。每个处理器核i都有自己私有的支持双向访问的任务队列qi。当任务开始时,每个处理器核首先尝试从自己的任务队列qi的顶部选取一些过剩流节点等待以进行后续处理。当由于没有过剩流节点而qi为空时,处理器i尝试随机从其他处理器j的队列qj的底部偷取一个过剩流节点进行处理。整个分布式任务获取的过程如图3所示。通过偷取其他处理器核的活跃节点保持自身忙碌于执行有效操作,分布式调度在本质上与中央调度一样是一种灵活的调度方式,可以更好地达到不同处理器核之间的作业平衡。此外,更重要的是,通过使用分散在各个处理器核中支持两端同时无锁 (Lock-Free) 访问的双向队列,分布式调度解决了中央调度中全局队列高访问冲突的问题。当任务偷取不成功时,该处理器此次操作循环结束,跳向分步骤34。
分步骤32:对于每一个过剩流节点进行二次检测确定其需要处理。当处理器核i开始处理其私有输入缓冲中的一个过剩流节点a时,由于同时还有其他的处理器核在进行操作,首先要检查其是否因为其他处理器的推流操作影响而变成流平衡。如果流平衡,则没有必要进行后续操作。对于每个节点都保存着其过剩流的值,判断这个值是否为零就可以决定是否需要处理。
此外,为了对某一个节点a完成推流或者重标记的操作,处理器核i必须首先检查并获取对该节点及其推流目标节点的资源控制权。对于每一个节点,设置一个原子整数类型(atomic integer)的令牌,用于各处理器核之间的通信协调。为了保证检查和占用资源操作的原子性,本发明中使用基本的处理器指令compare_and_swap进行检查:
if(a.token.compare_and_swap(BUSY, IDLE)==IDLE)
处理节点;
else
跳过该节点;
上述操作可以在由当前主流计算机硬件支持保证检测节点资源空闲和占用资源的操作为原子操作。
分步骤33:对需要处理的过剩流节点进行推流或重标记操作;当处理器核占有了对节点资源的使用权,便可以对流过剩节点进行推流和重标记的操作。具体的操作流程见图5。首先检查过剩流节点i对于其流出边和流出节点的缩减代价,如果缩减代价则进行推流操作直到节点i达到流平衡。如果对所有的出边都不符合缩减代价条件,则对i节点的自价做重标记,这样在下次检测中就会有可能使符合推流条件。
在推流操作中,由于把当前节点的过剩流推到了目标节点j,所以j节点也有可能成为了新的流过剩节点,每个处理器核i在推流时都检测出新的过剩流节点并将其存在自有的双向任务队列qi顶部。
分步骤34:与其他处理器核进行同步。当单个处理器核i处理完其私有输入队列的流过剩节点并发现全局队列Q为空时,它开始与其他处理器核进行同步。只有当所有处理器核全都空闲时,在当前缩放因子下的电压分配过程才算是结束。本发明使用终止检测壁垒(termination detection barrier, TDB)来实现同步。一个TDB包含了一个原子整数类型(atomic integer)的计数器,在分配开始时初始化为0。当每个处理器核从空闲转到处理状态时,通知TDB的计数器加1;反之当每个处理器核从处理状态转到空闲状态时,通知TDB的计数器减1。每次处理器核在空闲状态时,就检查TDB的计数器是否为0,如果为零则说明档次分配已经结束,否则说明还有其他处理器核在工作。
分步骤35:同步成功时,减小收缩因子;否则返回分步骤1;当TDB返回0时说明当前下的分配已经结束,则每个处理核统一把缩放因子减半进行下一轮的分配,即再返回步骤103进行操作。注意此时已经减半。当TDB返回大于0的数时说明还有其他处理器核在工作,他们的处理结果可能会产生新的流过剩节点,所以当前处理器核必须返回分步骤1开始检测全局队列Q并获取潜在的新的流过剩节点。
步骤4:后处理最小代价流的结果并得到电压分配方案。当缩放因子时(n是时序约束节点的总个数),整个最小代价流的算法已经结束。结束时得到了每个节点上的自价,也就是节点的到达时间。对于电路来说,节点对应了宏模块的输入输出,找到宏模块对应的输入输出节点的自价和,计算出其中的时延。由于时延和电压有单调对应关系,我们就可以进一步得到每个模块分配的电压。
实施例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 (1)
1.一种用于集成电路设计的分布式并行最小代价流方法,其特征在于,其包括如下步骤:
步骤1:将集成电路设计自动化问题转化为最小代价流问题;
步骤2:初始化每个处理器核上的任务信息,包括,初始化基本时序约束图上每个节点上的自价p(i)=0,初始化基本时序约束图每条边上的初始流量f(i,j)=0以及初始的缩放因子ε=max(w(i,j)),即最大的边权重;
所述i和j表示基本时序约束图的第i和第j个节点,p(i)表示第i个节点的自价,f(i,j)表示从第i节点到第j节点的流量,w(i,j)表示基本时序约束图上从第i节点到第j节点的边的权重;此外,每个处理器核初始化自己的双向过剩流节点任务队列为空;
步骤3:对于每个处理器核利用并行最小代价流处理网络图;
分步骤31:从该处理器的任务队列顶部中抓取一定的数量的过剩流节点;如果自身任务队列为空,尝试随机从其他处理器队列的底部获取一个任务进行处理;
分步骤32:对于每一个过剩流节点进行二次检测确定其需要处理;
分步骤33:对需要处理的过剩流节点进行推流或重标记操作,首先检查过剩流节点i对于其流出边和流出节点j的缩减代价wP(i,j)=w(i,j)-p(i)+p(j),如果缩减代价wP(i,j)<0则进行推流操作直到节点i达到流平衡X(i)=0;如果对所有的出边都不符合缩减代价条件,则对i节点的自价做重标记p(i)=p(i)+ε/2;将新产生的过剩流节点放入自身任务队列的顶部;
分步骤34:与其他处理器核进行同步;
分步骤35:同步成功时,减小收缩因子;否则返回分步骤31;
步骤4:对最小代价流的结果进行后处理,得到集成电路设计自动化问题的解;当缩放因子ε<1/n时,整个最小代价流的算法已经结束,所述n是时序约束节点的总个数;结束时根据每个节点上的自价p(i),也就是节点的到达时间;对于电路来说,节点对应了宏模块的输入输出,找到宏模块对应的输入输出节点的自价p(i)和p(j),计算出其中的时延dij=p(j)-p(i);由于时延和电压有单调对应关系,进一步得到每个模块分配的电压v(i,j)。
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 CN102467586A (zh) | 2012-05-23 |
CN102467586B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112379981B (zh) * | 2020-11-12 | 2024-08-16 | 中国人民解放军海军工程大学 | 面向分布式实时仿真任务的无锁同步方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588388A (zh) * | 2009-05-26 | 2009-11-25 | 中国科学院软件研究所 | 一种基于分布式适配的服务协作方法及其系统 |
CN101739398A (zh) * | 2008-11-11 | 2010-06-16 | 山东省标准化研究院 | 分布式数据库多连接查询优化算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8441935B2 (en) * | 2004-08-09 | 2013-05-14 | Jds Uniphase Corporation | Method and apparatus to distribute signaling data for parallel analysis |
-
2010
- 2010-11-08 CN CN201010535297.3A patent/CN102467586B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739398A (zh) * | 2008-11-11 | 2010-06-16 | 山东省标准化研究院 | 分布式数据库多连接查询优化算法 |
CN101588388A (zh) * | 2009-05-26 | 2009-11-25 | 中国科学院软件研究所 | 一种基于分布式适配的服务协作方法及其系统 |
Non-Patent Citations (2)
Title |
---|
《Multicore Parallel Min-Cost Flow Algorithm for CAD Applications》;Yinghai Lu et al;《Design Automation Conference, 2009. DAC’09. 46th ACM/IEEE》;20090731;第832-837页 * |
《Multicore Parallelization of Min-Cost Flow for CAD Applications》;Yinghai Lu et al;《Computer-Aided Design of Integrated Circuits and System,IEEE Transaction on》;20101031;第1546-1557页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102467586A (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cao et al. | A survey of optimization techniques for thermal-aware 3D processors | |
Tang et al. | CPU–GPU utilization aware energy-efficient scheduling algorithm on heterogeneous computing systems | |
Deng et al. | A data and task co-scheduling algorithm for scientific cloud workflows | |
Wang et al. | Data placement and task scheduling optimization for data intensive scientific workflow in multiple data centers environment | |
Li et al. | Cache-oblivious MPI all-to-all communications based on Morton order | |
Bender et al. | Two-level main memory co-design: Multi-threaded algorithmic primitives, analysis, and simulation | |
Song et al. | Energy efficiency optimization in big data processing platform by improving resources utilization | |
Venkataramani et al. | Unified thread-and data-mapping for multi-threaded multi-phase applications on SPM many-cores | |
Wu et al. | Using hybrid MPI and OpenMP programming to optimize communications in parallel loop self-scheduling schemes for multicore PC clusters | |
Nguyen et al. | Cache-conscious off-line real-time scheduling for multi-core platforms: algorithms and implementation | |
Khaitan et al. | Proactive task scheduling and stealing in master-slave based load balancing for parallel contingency analysis | |
CN102467586B (zh) | 用于集成电路设计的分布式并行最小代价流方法及装置 | |
Sheikh et al. | Energy-efficient real-time scheduling on multicores: A novel approach to model cache contention | |
Niethammer et al. | An MPI interface for application and hardware aware Cartesian topology optimization | |
Krishnamoorthy et al. | Hypergraph partitioning for automatic memory hierarchy management | |
Yang et al. | Performance‐based parallel loop self‐scheduling using hybrid OpenMP and MPI programming on multicore SMP clusters | |
Ramesh et al. | Energy management in embedded systems: Towards a taxonomy | |
Squillante | Issues in Shared Memory Multiprocessor scheduling: a performance evaluation | |
Eitschberger | Energy-efficient and Fault-tolerant Scheduling for Manycores and Grids | |
Khaligh et al. | A dynamic load balancing method for parallel simulation of accuracy adaptive TLMs | |
Queudet et al. | KTS: a real-time mapping algorithm for NoC-based many-cores | |
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 | |
Ding et al. | Memory-aware partitioning, scheduling, and floorplanning for partially dynamically reconfigurable systems | |
CN101964004B (zh) | 用于集成电路设计的多核并行最小代价流方法及装置 |
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 |