Multi-Threading in Electrictm, a Java VLSI CAD Tool

Multi-Threading in Electrictm, a Java VLSI CAD Tool

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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    25 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us