CN107346350B - 集成电路版图数据处理任务的分配方法、装置和集群系统 - Google Patents

集成电路版图数据处理任务的分配方法、装置和集群系统 Download PDF

Info

Publication number
CN107346350B
CN107346350B CN201610299107.XA CN201610299107A CN107346350B CN 107346350 B CN107346350 B CN 107346350B CN 201610299107 A CN201610299107 A CN 201610299107A CN 107346350 B CN107346350 B CN 107346350B
Authority
CN
China
Prior art keywords
column
polygons
sum
polygon
initial
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
Application number
CN201610299107.XA
Other languages
English (en)
Other versions
CN107346350A (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.)
Institute of Microelectronics of CAS
Original Assignee
Institute of Microelectronics of CAS
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 Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN201610299107.XA priority Critical patent/CN107346350B/zh
Publication of CN107346350A publication Critical patent/CN107346350A/zh
Application granted granted Critical
Publication of CN107346350B publication Critical patent/CN107346350B/zh
Active 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/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/02CAD in a network environment, e.g. collaborative CAD or distributed simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开一种集成电路版图数据处理任务的分配方法、装置和集群系统。方法包括:读取版图数据文件,确定各个列;记录每一列包含的多边形个数,由所述每一列包含的多边形个数计算多边形总个数;由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数;将所述各个列按照预设规则分成设定个数连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,所述设定个数与所述子进程个数相等;将各个所述任务块按照一一映射的方式分配给各个所述子进程。应用本发明提供的技术方案,能够有效提高集群系统的并行加速比和效率。

Description

集成电路版图数据处理任务的分配方法、装置和集群系统
技术领域
本发明涉及集成电路版图设计技术领域,尤其涉及一种集成电路版图数据处理任务的分配方法、装置和集群系统。
背景技术
在对集成电路版图进行CMP(Chemical Mechanical Polishing,化学机械抛光)模型仿真过程中,如何提取准确的版图特征参数是影响CMP模型仿真的关键因素。相比于传统的在单机上用串行计算方法进行版图特征参数提取,通过计算机集群对版图特征参数提取中最耗费时间的网格特征参数进行并行计算,不但可以加快整个版图特征参数提取的速度,提高闲置资源的利用率,而且具有高性价比、高可用性、高灵活性以及良好的可扩展性等优点。随着今后集成电路规模不断的扩大,单位面积上的集成度越来越高,从而导致版图数据的不断增大,使计算机集群对版图数据处理技术的发展成为一种必然的趋势。为了充分利用集群系统提供的资源,根据处理任务的特点确定适合的并行算法是关键,而在并行算法中,任务的分配问题更是核心。
目前,对于版图特征参数提取这方面的技术,鲜有相关比较适用的任务分配方法,而这恰是运用集群系统进行版图特征参数提取最重要的也是最关键的一步。具体的,目前的任务分配方法是将具体的计算任务(包括多个任务单元)按照任务单元的个数和进程的个数相对平均地划分成若干个连续的任务块,集群系统中每个进程负责一个任务块数据的计算。
但是,这样的任务分配方法太过简单,由于每个任务单元(即每一列)包含的多边形个数一般存在差异,从而导致对每个任务单元的计算时间存在差异,如果原始版图的数据中多边形的分布是不均匀的,那么就会存在有些列包含的多边形个数很多,有些列很少,这样不同进程完成任务的时间会相差很大,从而影响整个集群的并行加速比和效率。
发明内容
有鉴于此,本发明提供了一种集成电路版图数据处理任务的分配方法、装置和集群系统,能够有效提高集群系统的并行加速比和效率。
为实现上述目的,本发明提供如下技术方案:
一种集成电路版图数据处理任务的分配方法,应用于集群系统,所述方法包括:
读取版图数据文件,确定各个列;
记录每一列包含的多边形个数,由所述每一列包含的多边形个数计算多边形总个数;
由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数;
将所述各个列按照预设规则分成设定个数连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,所述设定个数与所述子进程个数相等;
将各个所述任务块按照一一映射的方式分配给各个所述子进程。
优选的,所述由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数,包括:
将所述多边形总个数除以所述子进程个数,得到每个所述子进程的所述平均预分配多边形个数。
优选的,所述将所述各个列按照预设规则分成设定个数连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,包括:
从起始列开始依次遍历所述各个列,计算所述起始列到当前列的多边形个数之和,以及所述起始列到当前列的下一列的多边形个数之和;
若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个任务块;
确定所述当前列的下一列为新的起始列,继续遍历剩余的所述各个列,若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个新的任务块,直至所述当前列为最后一列。
一种集成电路版图数据处理任务的分配装置,应用于集群系统,所述装置包括:
读取模块,用于读取版图数据文件,确定各个列;
记录模块,用于记录每一列包含的多边形个数,由所述每一列包含的多边形个数计算多边形总个数;
计算模块,用于由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数;
划分模块,用于将所述各个列按照预设规则分成设定个数连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,所述设定个数与所述子进程个数相等;
分配模块,用于将各个所述任务块按照一一映射的方式分配给各个所述子进程。
优选的,所述计算模块包括:
计算单元,用于将所述多边形总个数除以所述子进程个数,得到每个所述子进程的所述平均预分配多边形个数。
优选的,所述划分模块包括:
计算单元,用于从起始列开始依次遍历所述各个列,计算所述起始列到当前列的多边形个数之和,以及所述起始列到当前列的下一列的多边形个数之和;
第一划分单元,用于若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个任务块;
第二划分单元,用于确定所述当前列的下一列为新的起始列,继续遍历剩余的所述各个列,若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个新的任务块,直至所述当前列为最后一列。
一种集群系统,包括:
多台计算机,其中一台计算机运行的进程包括主进程;
所述主进程的操作包括:读取版图数据文件,确定各个列,记录每一列包含的多边形个数,由所述每一列包含的多边形个数计算多边形总个数,由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数,将所述各个列按照预设规则分成设定个数连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,所述设定个数与所述子进程个数相等,将各个所述任务块按照一一映射的方式分配给各个所述子进程。
优选的,所述集群系统为计算机同构集群系统。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种集成电路版图数据处理任务的分配方法、装置和集群系统。本发明提供的技术方案,首先读取版图数据文件,记录每一列包含的多边形个数,由所述每一列包含的多边形个数计算多边形总个数,再由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数,然后将所述各个列按照预设规则分成设定个数(所述设定个数与所述子进程个数相等)连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,从而实现每个所述任务块内的多边形个数均比较接近所述平均预分配多边形个数,比较均衡,最后将各个所述任务块按照一一映射的方式分配给各个所述子进程,此时,由于各个子进程对应的任务块内的多边形个数比较均衡,因此,完成任务的时间相差较小,从而能够减少后续任务再分配时各子进程间任务迁移的次数,更大程度地减少集群系统的通信开销,从而能够提高集群系统的并行加速比和效率。因此,应用本发明提供的技术方案,能够有效提高集群系统的并行加速比和效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种集成电路版图数据处理任务的分配方法的流程图;
图2为本发明实施例提供的将各个列分成设定个数连续的任务块的方法的流程图;
图3为本发明实施例提供的一种版图列数的分布图;
图4为本发明实施例提供的一种集成电路版图数据处理任务的分配装置的结构图;
图5为本发明实施例提供的划分模块的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例
请参阅图1,图1为本发明实施例提供的一种集成电路版图数据处理任务的分配方法的流程图。该方法应用于集群系统,如图1所示,包括:
步骤S101,读取版图数据文件,确定各个列;
具体的,按行读取所述版图数据文件,确定各个列。
步骤S102,记录每一列包含的多边形个数,由所述每一列包含的多边形个数计算多边形总个数;
步骤S103,由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数;
具体的,将所述多边形总个数除以所述子进程个数,得到每个所述子进程的所述平均预分配多边形个数。可选的,若所述多边形总个数除以所述子进程个数得到的商并非整数,那么可以四舍五入取整数得到所述平均预分配多边形个数。
步骤S104,将所述各个列按照预设规则分成设定个数连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小;
具体的,所述设定个数与所述子进程个数相等。
步骤S105,将各个所述任务块按照一一映射的方式分配给各个所述子进程。
本发明实施例提供的技术方案,首先读取版图数据文件,记录每一列包含的多边形个数,由所述每一列包含的多边形个数计算多边形总个数,再由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数,然后将所述各个列按照预设规则分成设定个数(所述设定个数与所述子进程个数相等)连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,从而实现每个所述任务块内的多边形个数均比较接近所述平均预分配多边形个数,比较均衡,最后将各个所述任务块按照一一映射的方式分配给各个所述子进程,此时,由于各个子进程对应的任务块内的多边形个数比较均衡,因此,完成任务的时间相差较小,从而能够减少后续任务再分配时各子进程间任务迁移的次数,更大程度地减少集群系统的通信开销,从而能够提高集群系统的并行加速比和效率。因此,应用本发明实施例提供的技术方案,能够有效提高集群系统的并行加速比和效率。
可选的,本发明另外一个实施例提供的技术方案,对所述步骤S104进行了详细的阐述,请参阅图2,图2为本发明实施例提供的将各个列分成设定个数连续的任务块的方法的流程图。如图2所示,所述步骤S104包括:
步骤S1041,从起始列开始依次遍历所述各个列,计算所述起始列到当前列的多边形个数之和,以及所述起始列到当前列的下一列的多边形个数之和;
步骤S1042,若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个任务块;
步骤S1043,确定所述当前列的下一列为新的起始列,继续遍历剩余的所述各个列,若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个新的任务块,直至所述当前列为最后一列。
下面以一个实例进行说明:
请参阅图3,图3为本发明实施例提供的一种版图列数的分布图,如图3所示,假设一个版图能划分成10列,每列包含的多边形个数依次为:1000、900、800、700、600、500、400、300、200和100,假设可用子进程个数为3,那么,按照现有技术中的块分配方法分配,3个进程分到的任务块如下,记为划分1:
{1000,900,800}、{700,600,500}、{400,300,200,100};
而按照本发明实施例提供的技术方案,3个进程分到的任务块如下,记为划分2:
{1000,900}、{800,700,600}、{500,400,300,200,100};
可以计算得到所有列总的任务量5500,每个进程的平均任务量大约1833,那么按照划分1,3个进程的实际任务量与预期任务量之差的绝对值为:867、33、833;
按照划分2,3个进程的实际任务量与预期任务量之差的绝对值为:67、267、333;
很明显划分2比划分1要更加均衡,更合理。
为了更加全面地阐述本发明提供的技术方案,对应于本发明实施例提供的集成电路版图数据处理任务的分配方法,本发明公开一种集成电路版图数据处理任务的分配装置。
请参阅图4,图4为本发明实施例提供的一种集成电路版图数据处理任务的分配装置的结构图。该装置应用于集群系统,如图4所示,包括:
读取模块401,用于读取版图数据文件,确定各个列;
记录模块402,用于记录每一列包含的多边形个数,由所述每一列包含的多边形个数计算多边形总个数;
计算模块403,用于由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数;
具体的,所述计算模块403包括:
计算单元,用于将所述多边形总个数除以所述子进程个数,得到每个所述子进程的所述平均预分配多边形个数。
划分模块404,用于将所述各个列按照预设规则分成设定个数连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,所述设定个数与所述子进程个数相等;
分配模块405,用于将各个所述任务块按照一一映射的方式分配给各个所述子进程。
应用本发明实施例提供的集成电路版图数据处理任务的分配装置,能够有效提高集群系统的并行加速比和效率。
可选的,本发明另外一个实施例提供的集成电路版图数据处理任务的分配装置,对所述划分模块进行了详细的阐述,请参阅图5,图5为本发明实施例提供的划分模块的结构图。如图5所示,该模块包括:
计算单元4041,用于从起始列开始依次遍历所述各个列,计算所述起始列到当前列的多边形个数之和,以及所述起始列到当前列的下一列的多边形个数之和;
第一划分单元4042,用于若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个任务块;
第二划分单元4043,用于确定所述当前列的下一列为新的起始列,继续遍历剩余的所述各个列,若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个新的任务块,直至所述当前列为最后一列。
为了更加全面地阐述本发明提供的技术方案,对应于本发明实施例提供的集成电路版图数据处理任务的分配方法,本发明公开一种集群系统。
本发明实施例提供的集群系统,包括:
多台计算机,其中一台计算机运行的进程包括主进程;
所述主进程的操作包括:读取版图数据文件,确定各个列,记录每一列包含的多边形个数,由所述每一列包含的多边形个数计算多边形总个数,由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数,将所述各个列按照预设规则分成设定个数连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,所述设定个数与所述子进程个数相等,将各个所述任务块按照一一映射的方式分配给各个所述子进程。
具体的,本发明实施例提供的集群系统为计算机同构集群系统,并在每台机器上都配置相应的集群计算环境,使用目前最为广泛的应用消息传递并行程序设计模式。集群系统使用主从结构,任务分配和调度均由主进程进行,本发明中的改进的任务块分配算法,通过考虑子进程实际的任务计算量,对版图数据任务根据任务计算量进行相对的均分。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种集成电路版图数据处理任务的分配方法、装置和集群系统。本发明提供的技术方案,首先读取版图数据文件,记录每一列包含的多边形个数,由所述每一列包含的多边形个数计算多边形总个数,再由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数,然后将所述各个列按照预设规则分成设定个数(所述设定个数与所述子进程个数相等)连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,从而实现每个所述任务块内的多边形个数均比较接近所述平均预分配多边形个数,比较均衡,最后将各个所述任务块按照一一映射的方式分配给各个所述子进程,此时,由于各个子进程对应的任务块内的多边形个数比较均衡,因此,完成任务的时间相差较小,从而能够减少后续任务再分配时各子进程间任务迁移的次数,更大程度地减少集群系统的通信开销,从而能够提高集群系统的并行加速比和效率。因此,应用本发明提供的技术方案,能够有效提高集群系统的并行加速比和效率。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置和集群系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种集成电路版图数据处理任务的分配方法,应用于集群系统,其特征在于,所述方法包括:
读取版图数据文件,确定各个列;
记录每一列包含的多边形个数,由所述每一列包含的多边形个数计算多边形总个数;
由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数;
将所述各个列按照预设规则分成设定个数连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,所述设定个数与所述子进程个数相等;
将各个所述任务块按照一一映射的方式分配给各个所述子进程;
所述将所述各个列按照预设规则分成设定个数连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,包括:
从起始列开始依次遍历所述各个列,计算所述起始列到当前列的多边形个数之和,以及所述起始列到当前列的下一列的多边形个数之和;
若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个任务块;
确定所述当前列的下一列为新的起始列,继续遍历剩余的所述各个列,若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个新的任务块,直至所述当前列为最后一列。
2.根据权利要求1所述的方法,其特征在于,所述由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数,包括:
将所述多边形总个数除以所述子进程个数,得到每个所述子进程的所述平均预分配多边形个数。
3.一种集成电路版图数据处理任务的分配装置,应用于集群系统,其特征在于,所述装置包括:
读取模块,用于读取版图数据文件,确定各个列;
记录模块,用于记录每一列包含的多边形个数,由所述每一列包含的多边形个数计算多边形总个数;
计算模块,用于由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数;
划分模块,用于将所述各个列按照预设规则分成设定个数连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,所述设定个数与所述子进程个数相等;
分配模块,用于将各个所述任务块按照一一映射的方式分配给各个所述子进程;
所述划分模块包括:
计算单元,用于从起始列开始依次遍历所述各个列,计算所述起始列到当前列的多边形个数之和,以及所述起始列到当前列的下一列的多边形个数之和;
第一划分单元,用于若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个任务块;
第二划分单元,用于确定所述当前列的下一列为新的起始列,继续遍历剩余的所述各个列,若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个新的任务块,直至所述当前列为最后一列。
4.根据权利要求3所述的装置,其特征在于,所述计算模块包括:
计算单元,用于将所述多边形总个数除以所述子进程个数,得到每个所述子进程的所述平均预分配多边形个数。
5.一种集群系统,其特征在于,包括:
多台计算机,其中一台计算机运行的进程包括主进程;
所述主进程的操作包括:读取版图数据文件,确定各个列,记录每一列包含的多边形个数,由所述每一列包含的多边形个数计算多边形总个数,由所述多边形总个数和所述集群系统的子进程个数计算每个所述子进程的平均预分配多边形个数,将所述各个列按照预设规则分成设定个数连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,所述设定个数与所述子进程个数相等,将各个所述任务块按照一一映射的方式分配给各个所述子进程;所述将所述各个列按照预设规则分成设定个数连续的任务块,使每个所述任务块内的多边形个数与所述平均预分配多边形个数的差的绝对值求和最小,包括:
从起始列开始依次遍历所述各个列,计算所述起始列到当前列的多边形个数之和,以及所述起始列到当前列的下一列的多边形个数之和;
若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个任务块;
确定所述当前列的下一列为新的起始列,继续遍历剩余的所述各个列,若所述起始列到当前列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,小于所述起始列到当前列的下一列的多边形个数之和减去所述平均预分配多边形个数得到的差的绝对值,将所述起始列到所述当前列划分为一个新的任务块,直至所述当前列为最后一列。
6.根据权利要求5所述的集群系统,其特征在于,所述集群系统为计算机同构集群系统。
CN201610299107.XA 2016-05-06 2016-05-06 集成电路版图数据处理任务的分配方法、装置和集群系统 Active CN107346350B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610299107.XA CN107346350B (zh) 2016-05-06 2016-05-06 集成电路版图数据处理任务的分配方法、装置和集群系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610299107.XA CN107346350B (zh) 2016-05-06 2016-05-06 集成电路版图数据处理任务的分配方法、装置和集群系统

Publications (2)

Publication Number Publication Date
CN107346350A CN107346350A (zh) 2017-11-14
CN107346350B true CN107346350B (zh) 2020-08-28

Family

ID=60254094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610299107.XA Active CN107346350B (zh) 2016-05-06 2016-05-06 集成电路版图数据处理任务的分配方法、装置和集群系统

Country Status (1)

Country Link
CN (1) CN107346350B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595795B (zh) * 2018-04-11 2022-05-20 上海华虹宏力半导体制造有限公司 版图数据检查分配方法
CN111580035B (zh) * 2020-05-27 2022-12-09 国网江苏省电力有限公司 一种电压互感器磁饱和的统计识别方法
CN112883681A (zh) * 2021-03-25 2021-06-01 中国科学院微电子研究所 一种电子设计自动化eda仿真方法及装置
CN112988404B (zh) * 2021-04-27 2021-08-10 北京智芯仿真科技有限公司 基于管理进程的集成电路仿真粗颗粒并行方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411680A (zh) * 2010-09-26 2012-04-11 中国科学院计算技术研究所 一种蛋白质鉴定的大规模分布式并行加速方法及其系统
CN102508981A (zh) * 2011-11-25 2012-06-20 中国科学院微电子研究所 一种加速cmp仿真的方法和装置
CN103198177A (zh) * 2013-03-11 2013-07-10 清华大学 基于gpu的集成电路电容参数提取系统及方法
CN103425828A (zh) * 2013-08-06 2013-12-04 中国科学院微电子研究所 加速opc的方法和装置
CN105426256A (zh) * 2015-11-03 2016-03-23 中国电子科技集团公司第二十八研究所 一种基于多进程协同的大批量实时目标并行处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158587B2 (en) * 2012-01-19 2015-10-13 International Business Machines Corporation Flexible task and thread binding with preferred processors based on thread layout

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411680A (zh) * 2010-09-26 2012-04-11 中国科学院计算技术研究所 一种蛋白质鉴定的大规模分布式并行加速方法及其系统
CN102508981A (zh) * 2011-11-25 2012-06-20 中国科学院微电子研究所 一种加速cmp仿真的方法和装置
CN103198177A (zh) * 2013-03-11 2013-07-10 清华大学 基于gpu的集成电路电容参数提取系统及方法
CN103425828A (zh) * 2013-08-06 2013-12-04 中国科学院微电子研究所 加速opc的方法和装置
CN105426256A (zh) * 2015-11-03 2016-03-23 中国电子科技集团公司第二十八研究所 一种基于多进程协同的大批量实时目标并行处理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
在Transputer并行加速器上实现并行的版图参数提取;吴启明等;《电子学报》;19950831;第1-5页 *
模拟电路设计中匹配器件组版图自动生成技术;吴玉平等;《微电子学与计算机》;20140430;第136-139页 *

Also Published As

Publication number Publication date
CN107346350A (zh) 2017-11-14

Similar Documents

Publication Publication Date Title
CN107346350B (zh) 集成电路版图数据处理任务的分配方法、装置和集群系统
US20120198466A1 (en) Determining an allocation of resources for a job
CN110737391B (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN103649910A (zh) 虚拟机放置
CN110415160B (zh) 一种gpu拓扑分区方法与装置
WO2012105969A1 (en) Estimating a performance characteristic of a job using a performance model
CN106775470B (zh) 一种数据存储的方法及系统
CN108241531A (zh) 一种在集群中为虚拟机分配资源的方法和装置
CN107480771B (zh) 基于深度学习的激活函数的实现方法及装置
CN105426255A (zh) Hadoop大数据平台中基于网络I/O代价评估的ReduceTask数据本地性调度方法
US11954419B2 (en) Dynamic allocation of computing resources for electronic design automation operations
CN111160560A (zh) 预估模拟量子计算所需资源的方法、系统
CN109788013B (zh) 分布式系统中作业资源分配方法、装置及设备
CN112817540B (zh) 一种基于磁盘阵列扩展的数据块重分布方法及装置
CN111338579B (zh) 基于存储池的读写缓存优化方法、系统、终端及存储介质
CN113703975A (zh) 模型分配方法、装置、电子设备及计算机可读存储介质
CN104657216A (zh) 一种资源池的资源分配方法及装置
CN106020971B (zh) 云主机系统中的cpu调度方法及装置
CN115878332A (zh) 深度学习网络中的内存资源分配方法、装置、设备及介质
WO2017133421A1 (zh) 一种多租户资源共享的方法及装置
Malakar et al. A divide and conquer strategy for scaling weather simulations with multiple regions of interest
JP2016207076A (ja) 並列計算機、スレッド再割当判定方法及びスレッド再割当判定プログラム
CN109324869B (zh) 在数据中心中的虚拟网络功能分配
CN113988277A (zh) 用于存算一体芯片的神经网络映射方法、装置、设备
CN113608847A (zh) 任务处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant