20 Pages

multiintro

Course: CS 424, Fall 2009
School: Wisconsin Milwaukee
Rating:
 
 
 
 
 

Word Count: 1195

Document Preview

Big The Picture: Where are We Now? Processor Control Datapath Processor Output Memory Input Input Control Datapath Output Memory Multiprocessor multiple processors with a single shared address space Cluster multiple computers (each with their own address space) connected over a local area network (LAN) functioning as a single system MultiIntro.1 Applications Needing "Supercomputing"...

Register Now

Unformatted Document Excerpt

Coursehero >> Wisconsin >> Wisconsin Milwaukee >> CS 424

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
Big The Picture: Where are We Now? Processor Control Datapath Processor Output Memory Input Input Control Datapath Output Memory Multiprocessor multiple processors with a single shared address space Cluster multiple computers (each with their own address space) connected over a local area network (LAN) functioning as a single system MultiIntro.1 Applications Needing "Supercomputing" Energy (plasma physics (simulating fusion reactions), geophysical (petroleum) exploration) DoE stockpile stewardship (to ensure the safety and reliability of the nation's stockpile of nuclear weapons) Earth and climate (climate and weather prediction, earthquake, tsunami prediction and mitigation of risks) Transportation (improving vehicles' airflow dynamics, fuel consumption, crashworthiness, noise reduction) Bioinformatics and computational biology (genomics, protein folding, designer drugs) Societal health and safety (pollution reduction, disaster planning, terrorist action detection) MultiIntro.2 Encountering Amdahl's Law Speedup due to enhancement E is Exec time w/o E Speedup w/ E = ---------------------Exec time w/ E Suppose that enhancement E accelerates a fraction F (F <1) of the task by a factor S (S>1) and the remainder of the task is unaffected ExTime w/ E = ExTime w/o E Speedup w/ E = MultiIntro.3 Encountering Amdahl's Law Speedup due to enhancement E is Exec time w/o E Speedup w/ E = ---------------------Exec time w/ E Suppose that enhancement E accelerates a fraction F (F <1) of the task by a factor S (S>1) and the remainder of the task is unaffected ExTime w/ E = ExTime w/o E ((1-F) + F/S) Speedup w/ E = 1 / ((1-F) + F/S) MultiIntro.4 Examples: Amdahl's Law Speedup w/ E = Consider an enhancement which runs 20 times faster but which is only usable 25% of the time. Speedup w/ E = What if its usable only 15% of the time? Speedup w/ E = Amdahl's Law tells us that to achieve linear speedup with 100 processors, none of the original computation can be scalar! To get a speedup of 99 from 100 processors, the percentage of the original program that could be scalar would have to be 0.01% or less MultiIntro.5 Examples: Amdahl's Law Speedup w/ E = 1 / ((1-F) + F/S) Consider an enhancement which runs 20 times faster but which is only usable 25% of the time. Speedup w/ E = 1/(.75 + .25/20) = 1.31 What if its usable only 15% of the time? Speedup w/ E = 1/(.85 + .15/20) = 1.17 Amdahl's Law tells us that to achieve linear speedup with 100 processors, none of the original computation can be scalar! To get a speedup of 99 from 100 processors, the percentage of the original program that could be scalar would have to be 0.01% or less MultiIntro.6 Supercomputer Style Migration (Top500) http://www.top500.org/lists/2005/11/ 500 400 300 200 100 0 1993994995 996997998999000001 002003004005 1 1 1 1 1 1 2 2 2 2 2 2 Nov data Clusters Constellations SIMDs MPPs SMPs Uniproc's Cluster whole computers interconnected using their I/ O bus Constellation a cluster that uses an SMP multiprocessor as the building block In the last 8 years uniprocessor and SIMDs disappeared while Clusters and Constellations grew from 3% to 80% MultiIntro.7 Multiprocessor/Clusters Key Questions Q1 How do they share data? Q2 How do they coordinate? Q3 How scalable is the architecture? How many processors can be supported? MultiIntro.8 Flynn's Classification Scheme SISD single instruction, single data stream q aka uniprocessor - what we have been talking about all semester single control unit broadcasting operations to multiple datapaths no such machine (although some people put vector machines in this category) aka multiprocessors (SMPs, MPPs, clusters, NOWs) SIMD single instruction, multiple data streams q MISD multiple instruction, single data q MIMD multiple instructions, multiple data streams q MultiIntro.9 SIMD Processors PE PE PE PE PE Control PE PE PE PE PE PE PE PE PE PE PE Single control unit Multiple datapaths (processing elements PEs) running in parallel q Q1 PEs are interconnected (usually via a mesh or torus) exchange/share and data as directed by the control unit Q2 Each PE performs the same operation on its own local data q MultiIntro.10 Example SIMD Machines Maker Year # PEs # b/ Max PE System PE memory clock BW (MB/ (MB) (MHz) s) 64 1 1 2 2 512 1024 13 5 10 7 25 2,560 2,560 20,480 16,384 23,000 Illiac IV DAP MPP CM-2 UIUC ICL Thinking Machines 1972 64 1980 4,096 Goodyear 1982 16,384 1 1987 65,536 1 1989 16,384 4 MP-1216 MasPar MultiIntro.11 Multiprocessor Basic Organizations Processors connected by a single bus Processors connected by a network # of Proc Communication Message passing 8 to 2048 model Shared NUMA 8 to 256 address UMA 2 to 64 Physical connection Network Bus 8 to 256 2 to 36 MultiIntro.12 Shared Address (Shared Memory) Multi's Q1 Single address space shared by all the processors Q2 Processors coordinate/communicate through shared variables in memory (via loads and stores) q Use of shared data must be coordinated via synchronization primitives (locks) UMAs (uniform memory access) aka SMP (symmetric multiprocessors) q all accesses to main memory take the same amount of time no matter which processor makes the request or which location is requested some main memory accesses are faster than others depending on the processor making the request and which location is requested can scale to larger sizes than UMAs so are potentially higher performance NUMAs (nonuniform memory access) q q MultiIntro.13 N/UMA Remote Memory Access Times (RMAT) Year Sun Starfire Cray 3TE HP V Type Max Proc 64 Interconnection RMAT Network (ns) Address buses, 500 data switch 2-way 3D torus 8 x 8 crossbar Fat tree Switched bus Switched bus Switched bus Fat tree 300 1000 500 400 240 275 ??? 1996 SMP 1996 NUMA 2048 1998 SMP 32 32 8 64 SGI Origin 3000 1999 NUMA 512 Compaq 1999 SMP AlphaServer GS Sun V880 HP Superdome 9000 2002 SMP 2003 SMP NASA Columbia 2004 NUMA 10240 MultiIntro.14 Single Bus (Shared Address UMA) Multi's Processor Processor Processor Cache Cache Cache Single Bus Memory I/O Caches are used to reduce latency and to lower bus traffic Must provide hardware to ensure that caches and memory are consistent (cache coherency Must provide a hardware mechanism to support process synchronization MultiIntro.15 Summing 100,000 Numbers on 100 Processors Processors start by running a loop that sums their subset of vector A numbers (vectors A and sum are shared variables, Pn is the processor's number, i is a private varia...

Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Wisconsin Milwaukee - CS - 424
Review: Datapath with Data Hazard ControlPCSrc ID/EX.MemRead EX/MEMrite ID.W IF/Hazard UnitID/EXrite PC.W0 1IF/ID Add Control 04Shift left 2AddBranchMEM/WBInstruction MemoryRead Address PCRead Addr 1Data 1 Read Addr 2 Wri
Wisconsin Milwaukee - CS - 526
Discrete-Event Simulation: A First CourseSteve Park and Larry Leemis College of William and MaryTechnical Attractions of * Simulation Ability to compress time, expand time Ability to control sources of variation Avoids errors in measurement
Wisconsin Milwaukee - CS - 424
Ch 5: Designing a Single Cycle DatapathComputer Systems Architecture CS 424/524The Big Picture: Where are We Now? The Five Classic Components of a ComputerProcessor Input Control Datapath Memory Output Today's Topic: Design a Single Cycle Pro
Wisconsin Milwaukee - CS - 141
Chapter 11RecursionRecursion Recursion is a fundamental programming technique that can provide an elegant solution certain kinds of problems Chapter 11 focuses on: thinking in a recursive manner programming in a recursive manner the correct
Wisconsin Milwaukee - CS - 131
Machine Language Day 10CSci 131 Oct. 3, 200604/30/09 1Outline Review Tracing Programs Building Programs Bit masking04/30/09 2Our Machine04/30/09 3Machine Language04/30/09 4Add numbers in memory cells 0D and 0E
Wisconsin Milwaukee - CS - 241
Lists and the Collection InterfaceChapter 4Chapter Objectives To become familiar with the List interface To understand how to write an array-based implementation of the List interface To study the difference between single-, double-, and circul
Wisconsin Milwaukee - CS - 241
CS 241 - Project3 Grading BreakdownCorrectness: 70% Execution Method DefinitionTesting: 20% Test Java file Test planStyle/Documentation/Submission 10%Specifically the methods from the f
Wisconsin Milwaukee - CS - 141
Chapter 7ArraysArrays Arrays are objects that help us organize large amounts of information Chapter 7 focuses on: array declaration and use bounds checking and capacity arrays that store object references variable length parameter lists
Wisconsin Milwaukee - CS - 141
Chapter 10ExceptionsExceptions Exception handling is an important aspect of object-oriented design Chapter 10 focuses on: the purpose of exceptions exception messages the try-catch statement propagating exceptions the exception class hier
Wisconsin Milwaukee - CS - 141
- testing with testa.dat -Enter the radius of the wheel in inches: 18.0Enter the total time in seconds: 600.0Enter the revolutions made by the wheel: 1500.0Enter the revolutions made by the pedals: 900.0*Cadence: 90RPM: 150S
Wisconsin Milwaukee - CS - 141
16180060003000
Wisconsin Milwaukee - CS - 141
1860015009003600100005000
Wisconsin Milwaukee - CS - 141
- testing with testa.txt -Enter the radius of the wheel in inches: 18.0Enter the total time in seconds: 600.0Enter the revolutions made by the wheel: 1500.0Enter the revolutions made by the pedals: 900.0*Cadence: 90RPM: 150S
Wisconsin Milwaukee - CS - 141
Name ID Tests(first 3) Projects(Next 3) Quiz(last 4)Johnson John 93010 50 50 50 50 50 50 10 10 8 12Jackson Jack 93011 100 100 100 100 100 100 20 20 20
Wisconsin Milwaukee - CS - 141
CS 141 - Project3 Grading BreakdownCompiles/Effort/Submission 15%Execution/Correctness 15%Class/Method Use 10%Method Definitions 50%Style/Documentation 10%
Wisconsin Milwaukee - CS - 243
CS243, Spring 2009, Lecture 1, 2 and 3ATTENTION: o IN THESE NOTES BECAUSE OF LIMITED CAPABILITIES OF ASCII CHARACTERS WE USE SYMBOLS THAT ARE DIFFERENT FROM THOSE WE DEFINED IN THE CLASS. o MAKE SURE THAT YOU UNDERSTAND THE MEANING OF THOSE
Wisconsin Milwaukee - CS - 301
nj&gt; java Klondike 876 Stock : 3CDiscard:Homecell 0:Homecell 1:Homecell 2:Homecell 3:Tableau 0: JHTableau 1: 6S 2HTableau 2: 5S 9D 3HTableau 3: 10H 6C 3D 10DTableau 4: 2S KH JD 2D 10STableau 5: 8H 7H AS KC 7C 5HTableau 6: 4H 4S KD JC
Wisconsin Milwaukee - CS - 301
PMD for Eclipse install instructions- 1. Start Eclipse. 2. Start the configuration manager : select the Help&gt;Software Updates&gt;Update Manager menu item. 3. In the Feature updates view find the site package (downloaded from Sourceforge) u
Wisconsin Milwaukee - CS - 412
Liberal Arts Computer Science Consortium Annual Report 1995-96 Department of Computer Science College of William and Mary
Wisconsin Milwaukee - CS - 412
&lt;?xml version=&quot;1.0&quot;?&gt;&lt;!DOCTYPE Cookbook SYSTEM &quot;recipes.dtd&quot;&gt;&lt;cookbook&gt;&lt;category type=&quot;loaf&quot;&gt; &lt;recipe&gt; &lt;name&gt;The Basic Loaf&lt;/name&gt; &lt;ingredient&gt; &lt;qty amount=&quot;825&quot; unit=&quot;ml&quot;/&gt; &lt;item&gt;Warm water&lt;/item&gt; &lt;/ingredient&gt;
Wisconsin Milwaukee - CS - 412
&lt;?xml version = &quot;1.0&quot;?&gt;&lt;ad&gt; &lt;year&gt; 1960 &lt;/year&gt; &lt;make&gt; Cessna &lt;/make&gt; &lt;model&gt; Centurian &lt;/model&gt; &lt;color&gt; Yellow with white trim &lt;/color&gt; &lt;location&gt; &lt;city&gt; Gulfport &lt;/city&gt; &lt;state&gt; MS &lt;/state&gt; &lt;/location&gt;&lt;/ad&gt;
Wisconsin Milwaukee - CS - 412
&lt;?xml version = &quot;1.0&quot;?&gt;&lt;events&gt;&lt;event id=&quot;1&quot; type=&quot;ms&quot;&gt;&lt;title&gt;Forward Secure Fuzzy Extractors&lt;/title&gt;&lt;speaker&gt;David Goldenberg&lt;/speaker&gt;&lt;date&gt;&lt;year&gt;2007&lt;/year&gt;&lt;month&gt;4&lt;/month&gt;&lt;day&gt;12&lt;/day&gt;&lt;/date&gt;&lt;time&gt;1400&lt;/time&gt;&lt;place&gt;&lt;building&gt;McGl&lt;/bu
Wisconsin Milwaukee - CS - 652
# ex: 6.16, p. 210# void main() { # i = 1; j = 2;# if (i &lt; 2)# j = j + 2;# else# j = 99;# k = j + 2;# / printint(k);# }func mainlabell$1=i 1=j 2if&lt;i 2 l$2=j 99gotol$3labell$2+ t$2 j 2=j t$2l
Wisconsin Milwaukee - CS - 652
# figure 6.6, p. 177# block 0func maincall readint# block 1rec t$1= m t$1# block 2label l$2if&lt;= t$1 0 l$7# block 3if&lt;= t$1 5 l$5# block 4+ t$4 m 4goto l$6# block 5label l$5+ t$5 m 5= m t$5# block 6label l$6+ t$6 m 6goto l$2#
Wisconsin Milwaukee - CS - 652
# figure 3.10, p 63# with missing entry node# and c &quot;to the left of&quot; afunc mainif&lt; i n l$1# node cif&lt; i n l$7# node elabel l$5if&lt; i n l$7# node flabel l$6if&lt; i n l$9# node hgoto l$4# node alabel l$1call readInt# node bif&lt; i n l$5#
Wisconsin Milwaukee - CS - 312
n = 5f = 1while n &gt; 1: f = f * n n = n - 1
Wisconsin Milwaukee - CS - 312
x = 1y = x + a
Wisconsin Milwaukee - CS - 312
x = 1x = &quot;abc&quot;{&lt;x, &quot;abc&quot;&gt;}
Wisconsin Milwaukee - CS - 312
x = 1x = &quot;abc&quot;
Wisconsin Milwaukee - CS - 312
Arithemetic + - * / div mod rem quotRelational = /= &lt; &lt;= &gt; &gt;= elem notElemBolean &amp; |LIST FUNCTIONS-xs ! i - in C/Java: xs[i]elem x xs
Wisconsin Milwaukee - CS - 312
# Gee grammar in Wirth-style BNF, fall 2008# adapted from Clite grammar, revised, Oct. 2 2008# expression operatorsrelation = &quot;=&quot; | &quot;!=&quot; | &quot;&lt;&quot; | &quot;&lt;=&quot; | &quot;&gt;&quot; | &quot;&gt;=&quot;addOperator = &quot;+&quot; | &quot;-&quot;mulOperator = &quot;*&quot; | &quot;/&quot; # expressionsexpression = a
Wisconsin Milwaukee - CS - 312
700000000402090000000008010000100060900070004030005000050600000000040702000000003
Wisconsin Milwaukee - CS - 312
import java.util.HashSet;import java.util.Iterator;/* Implements a set for a 1D 9x9 Sudoku board. Consists entirely of static methods.*/public class IndexSet extends HashSet&lt;Integer&gt; { / used in computing the elements of a box pri
Wisconsin Milwaukee - CSCI - 435
Apache ANT Apache Ant is a Java based glorified makefile. Apache compiles and creates .jar files automatically. All Build information for ANT is written in XML.Summary Installation Buildfiles Building Code using Apache Ant JavaDoc crea
Wisconsin Milwaukee - CSCI - 435
Internet Relay Chat - IRC - is just group chat. But instead of connecting to another person, you connect to a server and channel. Furthermore, it's much more freeform than IM group chat - you can change your name at any time, log off and on, and you
Wisconsin Milwaukee - MATH - 106
Chapter 20, Review Exercises 3,6Chapter 21, Review Exercises 1,2,3,4Chapter 23, Review Exercises 1,2,10Chapter 203.(a) N = 50,000 (b) 0 (&lt;$50K) or 1 (&gt;$50K) (c) False. The SD is sqrt(.2*.8) = .4. (d) True. n = 900 (e) 19% of 90
Wisconsin Milwaukee - MATH - 106
Chapter 17, Review Exercises 7,8,12Chapter 18, Review Exercises 2,6,7,12Chapter 177.(a) 321/100 = 3.21 (b) 3.78*100 = 378 (c) The key idea is to convert the statement &quot;3 &lt; average &lt; 4&quot; into thestatement &quot;300 &lt; sum &lt; 400&quot;. The average
Wisconsin Milwaukee - MATH - 106
Chapter 2, Review Exercises 1,3,4,71. False. We are not provided information that would allow us to comparerates. For example, one might try to compare the proportions ofpassengers who die or the proportions of flights that crash.3. No.
Wisconsin Milwaukee - MATH - 106
Chapter 24, Review Exercises 1,3Chapter 241.(a) 81,411 inches; SE = SD/sqrt(n) = 30/5 = 6 inches (b) True. (c) False. The average of the 25 readings is 81,411. (d) False. Confidence intervals say nothing about individual readings.
Wisconsin Milwaukee - XYTHOSDOCS - 7
Sun Microsystems, Inc. Binary Code License Agreement READ THE TERMS OF THIS AGREEMENT AND ANY PROVIDED SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY &quot;AGREEMENT&quot;) CAREFULLY BEFORE OPENING THE SOFTWARE MEDIA PACKAGE. BY OPE
Wisconsin Milwaukee - XYTHOSDOCS - 7
GNU Lesser General Public LicenseVersion 2.1, February 1999Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license
Wisconsin Milwaukee - ACML - 4
ACML - Release Notes - version 4.1.0-Contents-ACML - the AMD Core Math Library - is a tuned math library designed forhigh performance on AMD64 machines, including Opteron(TM) and Athlon(TM) 64,and includes both 32-bit and 64-bit library versi
Wisconsin Milwaukee - CS - 141
Student's Name _ CS 141 - Intro. to CS - Spring 2008 - Project1 Grading Header D. NoonanExecution _ ( 30 points) Program Listing _(20 points)Correctness Stylereads first price _(2) consistent indent/align_
Wisconsin Milwaukee - CS - 141
CS 141 - Project 6 Grading Header - Spring 2008 - D. NoonanName:_Total points: _(100)Execution_( 69 points) + Source_(31 points) +Correctness_(60 points) + Style +Menu
Wisconsin Milwaukee - CS - 141
CS 141 - Project4 - Grading Header - Spring 2008 D. Noonan Name:_Correctness _(34 points) Style _(18 points)Input random seeds _(2) Consistent upper/lower case_(2)Input number o
Wisconsin Milwaukee - CS - 141
CS 141 - Project 2 Grading Header - Fall 2008 D. Noonan Name:_ TOTAL: _ (50)Correctness _(28) Style _ (22)Driver Program: Both files: Creates Room alignment/indentation_ (2) object
Wisconsin Milwaukee - CS - 141
10 111 313.53.4
Wisconsin Milwaukee - CS - 141
public void BubbleSort(Object[] obj, int count){ boolean sorted = false; int pass = 1; while (pass &lt; count &amp; !sorted){sorted = true; /assume sortedfor (int index = 0; index &lt; count - pass; index+){ int nextindex = index + 1;
Wisconsin Milwaukee - CS - 131
Chapter 0: IntroductionComputer Science: An Overview Tenth Edition by J. Glenn BrookshearCopyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-WesleyTerminology Algorithm: A set of steps that defines how a task is performed Pro
Wisconsin Milwaukee - CS - 141
Conditionals andLoops Chapter5 2007 Pearson Addison-Wesley. All rights reservedConditionalsandLoops Now we will examine programming statements that allow us to: make decisions repeat processing steps in a loop Chapter 5 focuses on:
Wisconsin Milwaukee - CS - 141
Data and Expressions Chapter2 2007 Pearson Addison-Wesley. All rights reservedData and Expressions Let's explore some other fundamental programming concepts Chapter 2 focuses on: character strings primitive data the declaration and u
Wisconsin Milwaukee - CS - 141
Using Classes and Objects Chapter3 2007 Pearson Addison-Wesley. All rights reservedUsing Classes and Objects We can create more interesting programs using predefined classes and related objects Chapter 3 focuses on: object creation
Wisconsin Milwaukee - CS - 141
Polymorphism Chapter9 2007 Pearson Addison-Wesley. All rights reservedPolymorphism Polymorphism is an object-oriented concept that allows us to create versatile software designs Chapter 9 focuses on:defining polymorphism and its benefits usi
Wisconsin Milwaukee - CS - 141
Writing Classes Chapter4 2007 Pearson Addison-Wesley. All rights reservedWriting Classes We've been using predefined classes. Now we will learn to write our own classes to define objects Chapter 4 focuses on: class definitions instanc
Wisconsin Milwaukee - CS - 131
Chapter 8: Data AbstractionsComputer Science: An Overview Tenth Editionby J. Glenn BrookshearCopyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-WesleyChapter 8: Data Abstractions 8.1 Data Structure Fundamentals 8.2 Impl
Wisconsin Milwaukee - CS - 141
Inheritance Chapter8 2007 Pearson Addison-Wesley. All rights reservedInheritance Inheritance is a fundamental object-oriented design technique used to create and organize reusable classes Chapter 8 focuses on: deriving new classes fr
Wisconsin Milwaukee - CS - 131
Chapter 3: Operating SystemsComputer Science: An Overview Tenth Editionby J. Glenn BrookshearCopyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-WesleyChapter 3: Operating Systems 3.1 The History of Operating Systems 3.2
Wisconsin Milwaukee - CS - 141
Arrays Chapter7 2007 Pearson Addison-Wesley. All rights reservedArrays Arrays are objects that help us organize large amounts of information Chapter 7 focuses on: array declaration and use bounds checking and capacity arrays that stor
Wisconsin Milwaukee - CS - 141
Chapter 12: CollectionsJava Software Solutions Foundations of Program Design Sixth Edition by Lewis &amp; LoftusCopyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-WesleyCollections A collection is an object that helps us organize
Wisconsin Milwaukee - CS - 141
Chapter 6: Object-Oriented DesignJava Software Solutions Foundations of Program Design Sixth Edition by Lewis &amp; LoftusCopyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-WesleyObject-Oriented Design Now we can extend our discu
Wisconsin Milwaukee - CS - 141
Chapter 4: Writing ClassesJava Software Solutions Foundations of Program Design Sixth Edition by Lewis &amp; LoftusCopyright 2009 Pearson Education, Inc. Publishing as Pearson Addison-WesleyWriting Classes We've been using predefined classes. Now