
Multi-threading in ElectricTM, a Java VLSI CAD Tool Gilda Garretón Sun Microsystems Laboratories JUG.cl May 2008 Agenda •Who we are •Research activities •Electric, a Java VLSI framework •Multi-Threading 2 projects •Lessons learned Sun Microsystems Laboratories @ 2008 Copyrights 2 Sun Microsystems Laboratories •Center for innovation •Mission •Research Strategy •Collaboration Sun Microsystems Laboratories @ 2008 Copyrights 3 Our Technology Changes the World Fortress Sun SPOT Darkstar Digital Rights Tools for Search Solaris Honeycom Elliptic Demand on b Curve Forecasting Power Cryptogra PC phy UltraSPARC® Electric Sun Sun Ray V9 Cluster Developed in Sun Labs, transferred to Sun products and to the outside world Sun Microsystems Laboratories @ 2008 Copyrights 4 Sun Labs Project Focus System System System Network Hardware Software Science Clients Sun Microsystems Laboratories @ 2008 Copyrights 5 VLSI Research Group •Diverse group (~20) Moscow >Hardware (14) >Software (4) >Both (2) •Education >BS, MS, PhD •Rank >1 PE, 4 DEs and 1 Sun Fellow •Collaboration aims innovation >Research: circuit (HW) and CAD (SW) Sun Microsystems Laboratories @ 2008 Copyrights 6 VLSI Circuit Research •Design circuits to enable novel architectures •Low-power circuits •High-speed circuits •Asynchronous circuits •Communication Links >Proximity Communication Chip2 Chip1 1 Transmit Receive 2 Receive Transmit Sun Microsystems Laboratories @ 2008 Copyrights 7 VLSI CAD Research •Challenges > Size and performance > Hierarchical representation > Shrinking technologies •Research topics > Collaboration with Handling of large data set Harvey Mudd College > Geometric algorithms > Visualization and collaboration •Software Research > Client/server model > 2D/3D visualization > Multi-Threading Metal Cage Structure Sun Microsystems Laboratories @ 2008 Copyrights 8 Making Test Chips: Custom VLSI Chip Design Flow Chip Building Process CAD Testing Process Sun Microsystems Laboratories @ 2008 Copyrights 9 Making Test Chips: Custom VLSI Chip Design Flow 1.Schematic Entry and Transistor Sizing >Logical Effort support Sun Microsystems Laboratories @ 2008 Copyrights 10 Making Test Chips: Custom VLSI Chip Design Flow 1.Schematic Entry and Transistor Sizing 2.Simulation >Interface to CAD Tools of Our Choice >Waveform Viewer and Cross-Probing Sun Microsystems Laboratories @ 2008 Copyrights 11 Making Test Chips: Custom VLSI Chip Design Flow 1.Schematic Entry and Transistor Sizing 2.Simulation 3.Layout > Network Consistency Checker (NCC) > Design Rules Checker (DRC) > Automatic fill generator > Routing, auto stitching tool Sun Microsystems Laboratories @ 2008 Copyrights 12 Making Test Chips: Custom VLSI Chip Design Flow 1.Schematic Entry and Transistor Sizing 2.Simulation 3.Layout 4.Fabrication Foundry Input Foundry Output Sun Microsystems Laboratories @ 2008 Copyrights 13 Making Test Chips: Custom VLSI Chip Design Flow 1.Schematic Entry and Transistor Sizing 2.Simulation 3.Layout 4.Fabrication 5.Testing PxIO Testing Board Sun Microsystems Laboratories @ 2008 Copyrights 14 Electric VLSI Design System • Java development platform • Technical benefits for HW/SW • External/Open source community > www.staticfreesoft.com > www.opensparc.net/ > Google VLSI forum • Dynamic development cycle Electric Framework Sun Microsystems Laboratories @ 2008 Copyrights 15 Multi-Threading in Electric •Used in schematics/layout phases >Analysis tools >Route and placement •2 Multi-threading projects >Using directly JDK threading classes: routing tool >Using threading capabilities in Electric: Integrated solution: DRC tool •Available in next GNU release: June 2008 Sun Microsystems Laboratories @ 2008 Copyrights 16 Multi-Threading a Routing Tool •Routing using cost functions >Based on Dijkstra search >Two parallel techniques • Tech 1: two directions (A<->B) • Tech 2: multiple routes •Implementation > Runtime.getRuntime().availableProcessors() > Class RouteInThread extends Thread > Class Semaphore • acquireUninterruptibly() • release() Sun Microsystems Laboratories @ 2008 Copyrights 17 Multi-Threaded Routing Results Example: 682 segments to route 2-direction Tech. Multiple Routes Tech. 1000 1000 900 900 800 800 700 700 ) ) 600 s s 600 ( ( 2-CPU box 2-CPU box e e 500 4-CPU box 500 4-CPU box m m i i 8-CPU box 400 8-CPU box 400 T T 300 300 200 200 100 100 0 0 1 CPU 2 CPUs 1 CPU Max. # CPUs # CPUs # CPUs Sun Microsystems Laboratories @ 2008 Copyrights 18 Multi-Threading a DRC Tool Jobs •Electric's core database •Jobs Manager jobs >Pools of jobs >Java threads JobManager •Client/server model >Serializable interface • ByteArrayOutputStream • ObjectInputStream Threads •Class MultiTaskJob<Key,Task,Result> extends Job Sun Microsystems Laboratories @ 2008 Copyrights 19 g n i c DRC Introduction a p enclosure width s •Verify correctness extension >Recommended rules area h >Geometrical conditions t g n e •w(l1), f(l1, l1), g(l1,l2) l • Single-Threaded (STD) algorithms Sun Microsystems Laboratories @ 2008 Copyrights 20 Single-Threaded DRC Results Time consuming in layouts DRC Execution Time* (min.) # Transistors in Electric 13:12 2000000 12:00 1800000 Test A 10:48 Test B 1600000 09:36 Test C 1400000 08:24 Test A 1200000 Test B 07:12 1000000 Test C 06:00 800000 04:48 600000 03:36 400000 02:24 200000 01:12 0 00:00 * AMD64, 2.8GHZ, 16GB Sun Microsystems Laboratories @ 2008 Copyrights 21 Multi-Threaded DRC Results •Simplest approach due to STD code >Less than 1 week to implement •Best results in N2 with 16T and in Sun Fire with 4T DRCMT TiDme Ti mein S uinn S Fuirne F (miiren.) DMTRCD T Tiimeme i nin N S2u (nmi Finre.) 0022::3388 0082::2348 07:48 0022::2244 02:24 07:12 0022::0099 SuSunn FiFirere XX4646000,0, 02:09 SPASunR FiC reEn Xter46-00, 44 CCPUPUss,, 22..6GH6GHzz,, 06:36 pri4 CsePU T5s,22 2.06GH z, 0011::5555 6G6GBB 01:55 646GGBB , N2 06:00 1.4Ghz, 8 CPUs SuSunn FiFirere XX2121000,0, Sun Fire X2100, 0011::4400 4C4CPUPUss,, 22..6GH6GHzz,, 0051::2440 4CPUs, 2.6GHz, 1616GBGB 04:48 16GB 0011::2266 01:26 04:12 01:12 01:12 0031::3162 0000::5577 0030::0507 0000::4433 0020::2443 01:48 0000::2288 00:28 01:12 0000::1144 0000::3164 0000::0000 0000::0000 11 22 44 1166 3322 6644 11 22 44 1166 3322 6644 Sun Microsystems Laboratories @ 2008 Copyrights 22 Lessons Learned (1/2) •Applications will require changes to utilize multi-threading > Changes need not be significant > More than one way to multi-thread •Porting to MTD Java is feasible > Application-specific multi-threading strategies •Software infrastructure matters! > Multi-threading using existing job mechanism > Profiling tools understand results •SunStudio Collect/Analyzer Sun Microsystems Laboratories @ 2008 Copyrights 23 Lessons Learned (2/2) •MTD Routing Tool >Speedup of over 4X on an 8-CPU machine •MTD DRC Tool >Results per layer •Up to 41% in Sun Fire X4600 •Up to 37% in N2 with 16 threads >Future work: geometry partition Sun Microsystems Laboratories @ 2008 Copyrights 24 Questions? Gilda Garretón Sun Microsystems Laboratories JUG.cl May 2008.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages25 Page
-
File Size-