IP Library › Granted Patent US 8,245,173
Granted Patent B2
US 8,245,173 · App. 12/359,369 · Granted Aug 14, 2012

Scheduling for parallel processing of regionally-constrained placement problem

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,245,173
App. No.
12/359,369
Granted
Aug 14, 2012
Kind
B2
Abstract

Scheduling of parallel processing for regionally-constrained object placement selects between different balancing schemes. For a small number of movebounds, computations are assigned by balancing the placeable objects. For a small number of objects per movebound, computations are assigned by balancing the movebounds. If there are large numbers of movebounds and objects per movebound, both objects and movebounds are balanced amongst the processors. For object balancing, movebounds are assigned to a processor until an amortized number of objects for the processor exceeds a first limit above an ideal number, or the next movebound would raise the amortized number of objects above a second, greater limit. For object and movebound balancing, movebounds are sorted into descending order, then assigned in the descending order to host processors in successive rounds while reversing the processor order after each round. The invention provides a schedule in polynomial-time while retaining high quality of results.

Claims (11)

1. A computer-implemented method of generating a schedule for parallel processing of placement computations for movebounds of an integrated circuit design having associated placeable objects, comprising:

receiving a list of the movebounds and placeable objects associated with the movebounds by executing first instructions in the computer system;

first determining that a total number of movebounds in the design is large by executing second instructions in the computer system to compare the total number of the movebounds to a threshold number of movebounds;

second determining that an average number of placeable objects per movebound in the design is large by executing third instructions in the computer system to compare the average number of placeable objects per movebound to a threshold number of objects per movebound; and

in response to said first and second determining, creating a schedule which balances the placeable objects and the movebounds amongst host processors of a computer system by executing fourth instructions in the computer system to

sort the movebounds into descending order based on the number of placeable objects associated with each movebound,

assign the movebounds in the descending order to the host processors in successive rounds, wherein the movebounds are assigned in odd-numbered rounds according to a first processor order and are assigned in even-numbered rounds according to a second processor order which is the reverse of the first processor order,

adaptively remove a given one of the host processors from the first and second processor orders when (i) the number of objects in all movebounds assigned to the given host processor is greater than an expected object load, and (ii) the number of movebounds assigned to the given host processor is greater than an ideal number of movebounds per processor less an offset value, and

update the expected object load and the ideal number of movebounds per processor after any host processor is removed from the first and second processor orders; and

storing the schedule in a memory device of the computer system by executing fifth instructions in the computer system.

2. The method of claim 1 , further comprising refining movebound assignment after all of the movebounds have been assigned, by executing six instructions in the computer system to swap a first movebound assigned to a first host processor with a second movebound assigned to a second host processor when (i) the first host processor has a first object load which is greater than a second object load of the second host processor, (ii) the first movebound has more placeable objects than the second movebound, and (iii) the absolute difference between the number of placeable objects in the first movebound and the second movebound is less than a predetermined factor of the absolute difference between the first object load and the second object load.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: GLOBALFOUNDRIES INC.
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 054633/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 036779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC
Reel/Frame 036550/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2009
From: NAM, GI-JOON; RAMJI, SHYAM; TAGHAVI, TARANEH; VILLARRUBIA, PAUL G.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022153/0121 →
Continuity (1)
Related Publication 20100192155A1 · Jul 29, 2010