Sigrity, Inc. 2007 © Efficient Signal and Power Integrity Analysis Using Parallel Techniques Tao Su, Xiaofeng Wang, Zhengang Bai, Venkata Vennam Sigrity,

Slides:



Advertisements
Similar presentations
Computer Abstractions and Technology
Advertisements

MULTICORE PROCESSOR TECHNOLOGY.  Introduction  history  Why multi-core ?  What do you mean by multicore?  Multi core architecture  Comparison of.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
CHAPTER 5 THREADS & MULTITHREADING 1. Single and Multithreaded Processes 2.
Development of Parallel Simulator for Wireless WCDMA Network Hong Zhang Communication lab of HUT.
CS 345 Computer System Overview
Power Integrity Analysis and Optimization in the Substrate Design Harini M, Zakir H, Sukumar M.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Multithreaded Programming.
Processes Part I Processes & Threads* *Referred to slides by Dr. Sanjeev Setia at George Mason University Chapter 3.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 4: Threads.
Rechen- und Kommunikationszentrum (RZ) Parallelization at a Glance Christian Terboven / Aachen, Germany Stand: Version 2.3.
Paper on Best implemented scientific concept for E-Governance projects Virtual Machine By Nitin V. Choudhari, DIO,NIC,Akola.
Computer System Architectures Computer System Software
Comp-TIA Standards.  AMD- (Advanced Micro Devices) An American multinational semiconductor company that develops computer processors and related technologies.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 4: Threads.
Introduction Operating Systems. No. 2 Contents Definition of an Operating System (OS) Role of an Operating System History of Operating Systems Classification.
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
 What is OS? What is OS?  What OS does? What OS does?  Structure of Operating System: Structure of Operating System:  Evolution of OS Evolution of.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Multi-core architectures. Single-core computer Single-core CPU chip.
Multi-Core Architectures
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
Threads by Dr. Amin Danial Asham. References Operating System Concepts ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, and GREG GAGNE.
Hyper Threading Technology. Introduction Hyper-threading is a technology developed by Intel Corporation for it’s Xeon processors with a 533 MHz system.
Adaptive Multi-Threading for Dynamic Workloads in Embedded Multiprocessors 林鼎原 Department of Electrical Engineering National Cheng Kung University Tainan,
Operating System Principles And Multitasking
Lecture 5: Threads process as a unit of scheduling and a unit of resource allocation processes vs. threads what to program with threads why use threads.
Data Management for Decision Support Session-4 Prof. Bharat Bhasker.
Presentation 31 – Multicore, Multiprocessing, Multithreading, and Multitasking. When discussing modern PCs, the term “Multi” is thrown around a lot as.
 The need for parallelization  Challenges towards effective parallelization  A multilevel parallelization framework for BEM: A compute intensive application.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
MULTICORE PROCESSOR TECHNOLOGY.  Introduction  history  Why multi-core ?  What do you mean by multicore?  Multi core architecture  Comparison of.
CGS 3763 Operating Systems Concepts Spring 2013 Dan C. Marinescu Office: HEC 304 Office hours: M-Wd 11: :30 AM.
Shouqing Hao Institute of Computing Technology, Chinese Academy of Sciences Processes Scheduling on Heterogeneous Multi-core Architecture.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 OS 1.
Operating Systems.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
M211 – Central Processing Unit
SMP Basics KeyStone Training Multicore Applications Literature Number: SPRPxxx 1.
Background Computer System Architectures Computer System Software.
Page 1 2P13 Week 1. Page 2 Page 3 Page 4 Page 5.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Contents 1.Overview 2.Multithreading Model 3.Thread Libraries 4.Threading Issues 5.Operating-system Example 2 OS Lab Sun Suk Kim.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Threads by Dr. Amin Danial Asham. References Operating System Concepts ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, and GREG GAGNE.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Multi-Core CPUs Matt Kuehn. Roadmap ► Intel vs AMD ► Early multi-core processors ► Threads vs Physical Cores ► Multithreading and Multi-core processing.
Lecture 5. Example for periority The average waiting time : = 41/5= 8.2.
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
Introduction to threads
CS427 Multicore Architecture and Parallel Computing
Chapter 4: Multithreaded Programming
Introduction to Parallelism.
Operating System Concepts
Distributed System Structures 16: Distributed Structures
Chapter 4: Threads.
Chapter 4: Threads.
Support for ”interactive batch”
A High Performance SoC: PkunityTM
Multithreaded Programming
Operating System Introduction.
Chapter 4: Threads & Concurrency
Chapter 4: Threads.
MULTITHREADING PROGRAMMING
Operating System Overview
CS Introduction to Operating Systems
Presentation transcript:

Sigrity, Inc © Efficient Signal and Power Integrity Analysis Using Parallel Techniques Tao Su, Xiaofeng Wang, Zhengang Bai, Venkata Vennam Sigrity, Inc. Santa Clara, USA Shanghai, China Contact:

2 Contents Introduction Hyperthreading, Multithreading, Multicore and Distributed computing Application examples Closing remarks

3 Targeted Solutions Core Analysis Breadth SPEED97 SPEED2000 PowerSI PowerDC CoDesign OrbitIO XtractIM OptimizePI UPD XcitePI Broadband Spice PowerDC XtractIM OptimizePI Introduction Foundation analysis technology Signal integrity / power integrity Advanced capability and flexibility Increasing product breadth Multi-domain capability IC package layout Targeted solutions Specific applications Useful for non-experts

4 Multitasking vs. Multithreading Multitasking operating systems run multiple programs simultaneously. OS is reponsible for splitting the time among the different programs that are running. Multithreading enables users and programs to accomplish multiple simultaneous tasks.

5 Evolution of Multi-Core Technology Single-threading: Only one task processes at one time. Multitasking and Multithreading: Two or more tasks execute at one time by using content switching. Hyper-threading Technology: Two single threads execute simultaneously on the same processor core. Multi-core Technology: Computational work of an application is divided and spread over multiple execution cores.

6 Hyper-Threading vs. Multi-Core One execution core in a processor is shared by two threads. The execution core executes one thread by utilizing those resources that the other thread is not using. Resource conflicts can occur when two threads are assigned the same task. HT Technology: Two or more independent execution cores are embedded in a single processor. Each thread is executed by an independent execution core. Each thread runs in parallel manner effectively. Multi-Core Technology:

7 Multi-Threaded Execution Each thread is executed concurrently in each execution core. Each thread has its own hardware execution environment. Multiple tasks can be executed concurrently. In a multi-core processor:

8 Threading Methodology Multithreaded applications are difficult to understand, debug and optimize. Selecting the right threading approach is crucial. When threading strategies are well planned, application design and development effort is streamlined.

9 Typical Electrical Package/PCB Analysis Flow (SPEED tool set) Layout file SPD file Electrical parameter extraction Wirebonds Traces Vias Pads/Antipads Mesh generation Field-Circuit modeling Frequency sweep Result PowerSI – General purpose full-wave tool for IC packages and PCBs XtractIM – Customized full IC package extraction OptimizePI – Package/PCB Decap Optimization Translation Shape processing

10 Sigrity’s Solver Technology Hybrid Solver Technology Trans. Line Solver Circuit Solver Plane Solver Frequency-domain simulation needs assembling individual systems together.

11 Achieving Optimum Performance Decide when to use multithreading Logical –vs- Physical processors Load balancing Thread safety Waiting for shared resources Granularity Memory leaks

12 Controlling the Number of Processors

13 Speed-up with Multiple Threads EM64T Physical processors – 4 CPU – 3192MHz Physical memory – 16GB Electrical modeling of pads

14 Speedup with Multiple Threads Transmission line modeling EM64T Physical processors – 4 CPU – 3192MHz Physical memory – 16GB

15 Single Core vs. Multi-Core Logical processors: A single core with HT technology Physical processors: A dual core system

16 Distributed Computing in PowerSI

17 Server Setup

18 S-parameter Extraction - PowerSI HostHost + ServerHost + two servers Speed-Up (Time in Hours) 1 (~28) 1.88 (~14) 2.65 (~11) Note: Host is x86 and servers are x64 machines. Description: Wirebond package on DDR3 14 layers Size = 132mm x 29mm # vias = 6085 # traces = 27,398 Simulation time/spot = 494s

19 Decap Optimization - OptimizePI 30 layer FC pkg + Board 170 Decaps – Non-linear analysis Optimized for performance/cost 10KHz – 300MHz Potential solutions computed = 150,000 Statistics: CPUs1234 Time16H8.1H5.5H4.2H

20 Broadband Package Model Extraction - XtractIM 8 layer FBGA package Full package with 128 nets Band: 10KHz to 5GHz 1280 variables to optimize Statistics: CPUs1234 Time8.3H4.2H2.85H2.2H

21 Closing Remarks Concurrent threads are required to take full advantage of multi-processor/multi-core systems. Identify and focus on areas that will have most impact on the performance. Significant time savings can be realized with proper tuning, thus leading to a faster turn- around time in the layout analysis.

22 Questions? Thank You!

23 BACKUP

24 Concepts of Multithreading Task A Processor A Threading library creates threads and assigns processor time to each thread T0 T1 T2

25 Concepts of Multithreading Threads from a common Task have the same memory space (Shared Memory) They can simultaneously access variables that were instantiated before creating the threads.

26 Concepts of Multithreading Task A Processor 1 T0 T1 T2 Processor 2 Processor 3 Processor 4 Multiprocessor Environment

27 Concepts of Multithreading Different Threading libraries are available in different platforms PThreads SProc Win32 Threads