Documents Found!
As seen in
Less Work, Better Grades
Join
Course Hero
Access
best resources
Ace
your classes
Ace your courses with Course Hero!
|
|
|
Study Smarter, Score Higher
Here are the top 5 related documents
...Lecture 26: Design
Last time: 1. Project #5 is due Thursday 4/5 at 11 pm 2. Program design: algorithms, interfaces, use cases Today: 1. Command-line Java 2. Code comments 3. Javadoc comments
CMSC 131 Spring 2007 Bonnie Dorr (adapted from Rance Cleav...
...Lecture 28: Two-Dimensional Arrays
Last time: 1. Code comments 2. Javadoc comments Today: 1. Project #6 due 2. 2-dimensional arrays
CMSC 131 Spring 2007 Bonnie Dorr (adapted from Rance Cleaveland)
Project #6 Assigned!
Project due Monday, 4/16 at 11...
...Lecture 29: Packages
Last time: 1. 2-dimensional arrays Today: 1. Packages
CMSC 131 Spring 2007 Bonnie Dorr (adapted from Rance Cleaveland)
Project #6 Assigned!
Project due Monday, 4/16 at 11 pm Project is closed
You must complete the project by you...
...Lecture 30: Exceptions
Last time: 1. Packages Today 1. Exceptions
CMSC 131 Spring 2007 Bonnie Dorr (adapted from Rance Cleaveland)
Project #6 Assigned!
Project due Monday, 4/16 at 11 pm Project is closed
You must complete the project by yourself Ass...
Document Content (unformatted)
Course Hero has millions of student submitted documents similar to the one
below including study guides, homework solutions, papers, exam answer keys and textbook solutions.
you What should get out of this handout ---------A. An understanding of why CPU pipelining is used to speedup execution time. B. The ability to explain how data and branch hazards are created as a result of pipelining, and the means by which they may be resolved. C. How the MIPS pipeline is implemented. D. A basic understanding of superpipelining and superscalar processors as method to increase speedup, including methods for dealing with the more complex hazard conditions that can arise. A. Foundation a. An equation for program execution time Execution Time = clock cycle time * the number of instructions * the average clock cycles per instruction = number of instructions * CPI (average) ----------------------------------------------clock-rate b. Since there are three variables in this equation, there are three basic way to decrease execution time: 1. Reduce the cycle time (increase the clock rate) a. Can be achieved by use of improved hardware design/manufacturing techniques. In particular, reducing the FEATURE SIZE (chip area needed for one component), results in lower capacitance and inductance, and can therefore run the chip at a higher frequency b. Do less computation on each cycle (which increases CPI, of course!) 2. Reduce the instruction count. a. Better algorithms (see CMSC 451) b. Do more work per instruction - This is the idea behind CISC machines Trade off - May lead to a longer clock cycle time 3. Reduce CPI a. Do less work per instruction - This is the idea behind RISC machines Trade off - Leads to more instructions per program b. Do more work per clock cycle - May increase clock cycle time 4. Note that, in the case of clock rate and instruction count, there are speedup techniques that are clear "wins" - utilizing them does not adversely affect the other two components of the equation. It appears, though; that it is only possible to reduce CPI is at the cost of more instructions or a slower clock. 5. While there is no way to reduce the total number of clocks needed for an individual instruction without adversely impacting some other component of performance, it is possible to reduce the AVERAGE CPI by doing portions of two or more instructions in parallel. This is the idea behind pipelining. c. Now we are ready to start looking at different ways to decrease execution time, leading to a fully pipelined machine. Some of these ideas apply to any architecture, but are entirely implemented in RISC machines. 1. Let's first look at a generic CPU which required six steps to execute an instruction. a. The Fetch step (IF) reads the next instruction to be executed from memory (the address is in the program counter register PC) and increment the PC b. The Decode step (ID) decodes the instruction and reads any needed CPU registers c. Steps 3-6 (S3-S6) are generic and do whatever is needed to complete the instruction Clock Cycle: 12 3 4 5 6 18 Instruction 1: IF ID S3 S4 S5 S6 Instruction 2: IF ID S3 S4 S5 S6 Instruction 3: IF ID S3 S4 S5 S6 7 8 9 10 11 12 13 14 15 16 17 Note: This table makes a couple of assumptions. i. Each step takes the same amount of time ii. All instructions have the same number of steps 2. If we add a little hardware, we can decrease the execution time by completing portions of instructions in parallel. A simple method to speed things up is the pre-fetching of instructions. Clock Cycle: 12 3 4 17 18 Instruction 1: IF ID S3 S4 S5 S6 Instruction 2: Instruction 3: 5 6 7 8 9 10 11 12 13 14 15 16 IF ID S3 S4 S5 S6 IF ID S3 S4 S5 S6 Each instruction still takes 6 cycles, but once execution gets rolling an instruction is completed every 5 cycles. Speedup = Old Execution Time/ New Execution Time = 6/5 => This modification gives us a speedup of 1.2 3. Pre-fetching does cause a problem. What happens with conditional instruction? Until the conditional is executed the next instruction is not known. This is called a BRANCH or CONTROL HAZARD. What can we do to overcome this problem? -- All of these solutions require adding additional hardware to the CPU. -- We can stop pre-fetching until the branch hazard is resolved. This is called stalling, bubbling or doing NoOps. -- We can guess the branch is taken/not taken, and flush the pipe if we guess wrong. *The book list several ways to do this. ** We have to make sure we can undo everything until the hazard is resolved!!! -- We could pre-fetch both sides of the branch and discard what we don't need. -- There are other methods talked about in your book like branch delay slots 4. Pre-fetching on RISC machines is relatively simple because all instructions are required to be the same length, one word. On CISC machines with variable length instruction, that you may not know how long it is until you start decoding it, is a bit more complicated. 5. Now lets try pre-fetching and decoding the instructions in parallel! Clock Cycle: 12 3 4 5 6 7 8 9 17 18 Instruction 1: IF ID S3 S4 S5 S6 Instruction 2: IF ID S3 S4 S5 S6 Instruction 3: IF ID S3 S4 S5 S6 10 11 12 13 14 15 16 Assuming we don't have to stall for any control hazard, we are completing an instruction every 4 clock cycles. Our speedup is 6/4 or 1.5. Pretty impressive. 6. As you probably guessed, decoding instructions in parallel has some problems too. I'll use pseudo code, but Dr. Hugue will be using MIPS for this course. Look at the following code fragment. Instruction 1: Instruction 2: R1 = R2 + R3 R5 = R1 + R7 If we decode instruction 2 before instruction 1 has been completed, remember that in the Decode step we read any registers needed, then R1 will not have the new value written into it and R5 is going to have a bogus value assigned to it. This is called a DATA HAZARD or instruction 2 has a DATA DEPENDENCY on instruction 1. Data hazard - the result of one instruction is needed as input to another instruction Data Hazard Classification Consider 2 instructions i and j, i occurs before j, the possible data hazards are: 1) RAW (read after write) - j tries to read a source before i writes it, so j gets the old value. 2) WAW (write after write) - j tries to write an operand before it is written by i, therefore the value left is written by i instead of j - wrong order !. 3) WAR(write after read) - j tries to write a destination before it is read by i, so i incorrectly reads new value not the old one. 4) RAR(read after read) - this is not a hazard because reading does not change the value. What can we do to overcome this problem? -- Again more hardware needed! -- We can stall instruction 2 until instruction 1 is completed. -- If we have a smart compiler, it could stuff some instructions without a data dependency between instructions 1 and 2, OUT OF ORDER COMPLETION -- Forwarding 7. Forwarding Lets look at what would happed if we just stall until the hazard clears. this case instruction 2 has a data dependency on instruction 1 Clock Cycle: 12 3 4 17 18 Instruction 1: IF ID S3 S4 S5 S6 Instruction 2: Instruction 3: 5 6 7 8 9 10 In 11 12 13 14 15 16 IF stl ID S3 S4 S5 S6 IF ID S3 S4 S5 S6 In clock cycle 6, instruction 2 stalls for one cycle to allow instruction 1 to be completed. Let's assume for this example that instruction 1 has completed the calculation of the needed value in Step 4, that would be clock cycle 4 in this example. Do we really need to stall in clock cycle 6? No. We can add additional hardware that can detect this condition and forwards or bypasses the value to where it is need to minimize the number of stalls. This is the general idea behind forwarding. 8. The greatest degree of parallelism would be to overlap all steps in the completion of instructions. Clock Cycle: 12 3 4 5 6 17 18 Instruction 1: IF ID S3 S4 S5 S6 Instruction 2: IF ID S3 S4 S5 S6 Instruction 3: IF ID S3 S4 S5 S6 7 8 9 10 11 12 13 14 15 16 We call this a FULLY PIPELINED CPU. In the steady state, it completes one instruction on every cycle, so its average CPI is 1. Of course, an average CPI of 1 is attainable only when the pipeline is full of valid instructions. When the pipeline has been flushed (e.g. after a branch), it may take several cycles for the pipeline to fill up again. As a result, a fully pipelined machine ends up in practice having a CPI somewhat bigger than 1. B. A Simple Implementation of the RISC Instruction Set 1. As discussed in the book, RISC instructions are implemented in up to five steps. In a pipelined implementation, EVERY instruction has all five steps (though some may not actually do any useful work), the and pipeline has 5 stages: 2. Pipeline Stages a. IF - does both of the following in parallel - instruction fetch - increments the program counter b. ID - does all of the following in parallel - decodes the instruction - reads register file into ALU holding registers A + B - calculates the branch target address - not all of these are used c. EX - does one of the following - calculates the address for a memory reference instruction - ALU operation for a R type instruction d. MEM - does one of the following - reads or writes to memory for a memory operation - on non-memory instruction this step does nothing e. WB - does one of the following - writes the output of the ALU to the appropriate register in the register file - writes the value read from memory into the appropriate register in the register file - for all other instructions does nothing 3. Note the presence of pipeline registers between each pair of stages. Since there are five instructions in the pipeline at any time, there is a need to keep copies of four instructions (or at least portions of them) in registers at any time. (There are only four instructions in registers, because one is coming out of memory during stage 1). In addition, we need to keep certain data in these registers. a. IF/ID holds an instruction, plus the incremented PC value of where it came from. b. ID/EXEC holds the op-code (possibly in some decoded form) plus the destination register specifier, immediate value, and function fields of the instruction, plus the A and B source values read out of the register file, plus the PC passed on from the IF/ID register c. EXEC/MEM holds the op-code and destination register specifier fields of the instruction (copied from ID/EXEC), plus the ALUOut value, plus the data that is to be written to memory if the instruction is a store (contents of register specified by rt). d. MEM/WB holds the op-code and destination register specifier fields of the instruction and the ALUOut value (copied from ID/EXEC) plus the value just read from memory if the instruction is a load. 4. The motivation for going to a five-stage pipeline appears to be the following a. Doing the register file read, ALU operation, and write back of the ALU result in one step (as is the case for the three-stage pipeline) would require a longer clock cycle for this stage, and thus for all stages in the pipeline. b. As. Likewise, doing a memory read and writing the item read back to a register in one step (as is also the case for the three-stage pipeline) would pose a similar problem. c. As Since the load instruction ends up requiring 5 steps (which is the longest instruction) a 5-stage pipeline is called for. 5. Actually, the way the book describes the MIPS pipeline - and the way we have described it here - is a bit oversimplified. The actual pipeline on most MIPS implementations has five stages, but uses only four clocks because two of the stages are just half a clock long. (Recall that the clock is a square wave, and a complete cycle includes both rising and falling edges). Here is the actual structure: ---------------------------------WB (1/2 cycle) | S1 |/////| S2 |/////| S3 | ... --------------------------------------------MEM | S1 | | S2 | S3 | S4 -------------------------------------------------------EXEC | S1 | S2 | S3 | S4 | ... -------------------------------------------------ID (1/2 cycle) | S1 |/////| S2 |/////| S3 |/////| S4 | ... -------------------------------------------------IF | S1 | S2 | S3 | S4 | ... --------------------------------------------///// = this pipeline stage is idle on this half-cycle (We will stick with the simplified version used in the book for most of our discussion, since the basic issues are not affected.) downside is that it complicates dealing with hazards. a. At first glance, it would appear that the branch hazard problem would be exacerbated, because instructions are normally executed in stage 3 (meaning that there would now be 2 instructions in the pipeline when a branch is executed.) However, the hardware is arranged so that branch instructions are executed in stage 2 of the pipeline, and deals with the single instruction behind it in the pipeline by using delayed branching. b. On the other hand, the data hazard issue is made much worse. In the 5-stage pipeline, data hazards can also arise from dependent sequences of computational instructions. - Example: Consider the following program fragment: Inst1: add r2, r4, r5 Inst2: add Inst3: add Inst4: add r3, r6, r7 r3, r2, r3 r2, r2, r8 (where it is the intention that Inst3 use the values in r2 and r3 computed by Inst1 and Inst2, and Inst4 uses the value in r2 computed by Inst1) Consider what happens with a 5-stage pipeline WB Inst1 Inst2 ... r2 <r3 <r4+r5 r6+r7 Inst1 Inst2: (pass (pass ALU ALU thru) Inst1 Inst2 ALU ALU ALU ALU thru) Inst3 Inst4 ... MEM Out Out EXEC Out Out Out Out ... ... <- A+B <- A+B <- A+B <- A+B (r4+r5) (r6+r7) (r2+r3) (r2+r8) ID Inst1 Inst2 Inst3 Inst4: A<-r4 A<-r6 B<-r5 B<-r7 VALUES IF Inst1 Inst2 Inst3 Inst4 VALUE A<-r2 B<-r3 (BOTH A<-r2 B<-r8 (A WRONG!) WRONG!) How many bubbles, NoOPs, or other instructions would need to be inserted between Inst2 and Inst3 to make Inst3 and Inst4 get the right values? - One would take care of getting the right r2 for Inst4, but would not help Inst3 at all. - Two would take care of getting the right r2 for Inst3 as well, but r3 would still be wrong - Three would make everything work correctly: WB Inst1 Inst2 ... r2 <r3 <r4+r5 r6+r7 Inst1 Inst2: (pass (pass ALU ALU thru) Inst1 ALU ALU Inst2 ALU ALU thru) ... MEM Out Out EXEC Inst4 Out Out ... ... NoOp NoOp NoOp Inst3 Out Out <- A+B <- A+B (r4+r5) (r6+r7) <- A+B <- A+B (r2+r3) (r2+r8) ID Inst1 Inst2 NoOp NoOP NoOP Inst3 Inst4: A<-r4 A<-r6 A<-r2 B<-r5 B<-r7 B<-r3 Inst1 Inst2 NoOp NoOP NoOp Inst3 Inst4 A<-r2 B<-r8 IF - Requiring three instructions between the time a value is computed and the time it is used would have a very severe negative impact on performance, so some other solution is desirable. This pipeline uses two. - A one instruction reduction in the size of the problem is achieved automatically by the fact that ID and WB are half cycles. (Refer to more accurate timing diagram). - To squeeze the remaining two delays out, observe that the values needed by Inst3 EXIST at the time Inst3 needs them - they're just not in the right places. i. The value which will go into r2 is sitting in the ALUOut portion of the MEM/WB pipeline register when Inst3 needs to use it during its EXEC step. ii. The value which will go into r3 is sitting in the ALUOut portion of the EXEC/MEM pipeline register when Inst3 needs to use it during its EXEC step. iii. The two stage delay that would otherwise be needed between computing a result and using it could be avoided if the ALU input selection logic could be modified to either use a value from any of the following: - The register A or B portion of the ID/EXEC pipeline register (as the case may be) - or - The ALUOut register portion of the EXEC/MEM pipeline register - or - The ALUOut register portion of the MEM/WB pipeline register - This must be handled separately for each of the two ALU inputs. WB Inst1 Inst2 ... r2 <r3 <r4+r5 r6+r7 Inst1 Inst2: (pass (pass ALU ALU thru) thru) Inst3 ... MEM Out Out EXEC Out Out Out Out <-M/W <- A+B +E/M ALU Outs ... ... Inst1 Inst2 ALU ALU ALU ALU Inst4 <- A+B (r4+r5) <- A+B (r6+r7) <- A+B (r2+r3) (r2+r8) ID Inst1 Inst2 Inst3 Inst4: A<-r4 A<-r6 B<-r5 B<-r7 A<-r2 B<-r3 A<-r2 B<-r8 (BOTH VALUES IF Inst1 Inst2 Inst3 Inst4 WRONG!) This is an example of DATA FORWARDING. 7. We have examined the impact of the five-stage pipeline on R-Type instructions, and have seen that data forwarding can prevent hazards. about load-type instructions. What a. Both R-Type instructions and load instructions write their value to a register in the last stage of the pipeline, so the basic issue is the same. b. However, a key difference is that, with an R-Type instruction, the value is actually available at the end of the EXEC stage (stage 3) and can be forwarded from them, where as in the load instruction the value does not become available until the end of the MEM stage (stage 4). c. As a result, by use of data forwarding, we can reduce the delay. We must have one instruction intervening between a load instruction and any other instruction that uses its result. This is handled by using DELAYED LOAD.
Find millions of documents here - Study Guides, Homework Solutions, Papers, Exam Answer Keys and more.
Course Hero has millions of course related materials that will enable you to learn better,
faster and get an A in all your courses.
Below is a small sample set of documents:
Below is a small sample set of documents:
Maryland >> CMSC >> 412 (Fall, 2008)
repeat Using Test and Set for Mutual Exclusion Note: no priority based on wait time while test-and-set(lock); / critical section lock = false; / non-critical section until false; l bounded waiting time version repeat waiting[i] = true; key = tru...
Maryland >> CMSC >> 412 (Fall, 2008)
Queues of Processes l Store processes in queues based on state Ready Queue P1 P2 Disk Queue P3 P4 Network Queue P5 P6 CMSC 412 1 forking a new process l create a PCB for the new process copy most entries from the parent clear accoun...
Maryland >> CMSC >> 412 (Fall, 2008)
System Calls l l Provide the interface between application programs and the kernel Are like procedure calls take parameters calling routine waits for response l Permit application programs to access protected resources register r0 Code for sys c...
Maryland >> CMSC >> 412 (Fall, 2008)
Deadlocks l System contains finite set of resources memory space printer tape file access to non-reentrant code l l Process requests resource before using it, must release resource after use Process is in a deadlock state when every process i...
Maryland >> CMSC >> 414 (Fall, 2008)
CMSC 414 Computer and Network Security udaya shankar * PRELIMINARY DRAFT- PROBABLY CONTAINS ERRORS * Note on NS chapter 13: Kerberos V4 _ Authentication in network (Realm) Human users log in to workstations, use (distributed) applications (NFS, rs...
Maryland >> CMSC >> 414 (Fall, 2008)
CMSC 414 F07 Exam 1 SOLUTION Page 1 of 11 6 problems over 7 pages. Name:_ No book, notes, or calculator _ Total points: 60. Total time: 75 minutes. 1. [14 points] Are n=323 and e=5 valid numbers for RSA. Explain. If you answer yes, obtain the cor...
Maryland >> CMSC >> 414 (Fall, 2008)
CMSC 414: HW 2 Grading Key Total 20 points _ 4. [4 points] 1- writing something 2- saying d is unique in Z(p1)(q1) 3,4-a)saying d is unique in Z(p1)(q1) b)e has a multiplicative inverse mod (p1)(q1) iff e is relatively prime to (p1)(q1). So multiplyi...
Maryland >> CMSC >> 414 (Fall, 2008)
udaya shankar Page 1 of 4 May 9, 2006 CMSC 414: HW 3 _ 1. (text 11.3) In section 11.3.1, we discuss various ways for forming a session key. Remember that R is the challenge sent by Bob to Alice, and A is Alices secret, which Bob also knows. Which ...
Maryland >> CMSC >> 417 (Fall, 2008)
cmsc 417 S04 Sign here Exam 1 SOLUTION name: Total points 30. Total time 70 mins. 3 problems over 3 pages. No book, no notes, no calculator. to have your exam scores listed on web by last ve digits of your SID. router queue TCP Source TCP Sink ...
Maryland >> CMSC >> 417 (Fall, 2008)
cmsc 417-F04 Exam 2 SOLUTION name: Total points 30. Total time 70 mins. 4 problems over 4 pages. No book, no notes, no calculator. 1. [6 pts] Consider an error-detecting CRC with the generator 110110. The CRC bits follow the data bits in any trans...
Maryland >> CMSC >> 417 (Fall, 2008)
cmsc 417-F02 1. [10 pts] Exam 2 name: Total points 30. Total time 70 mins. 4 problems over 3 pages. No book, no notes, no calculator. C 1 B 8 1 D 1 E The above network uses the distance-vector routing algorithm. Assume the following: Links are bi...
Maryland >> CMSC >> 417 (Fall, 2008)
= CMSC 417-S05 NOTES ON CHAPTER 2: APPLICATION LAYER SHANKAR - Telnet, FTP, HTTP, NFS, DNS, Audio, Video, P2P (Napster, Gnutella, KaZaa, .) - All applications are client-server based - App has one or more clients and one or more servers. - Traditiona...
Maryland >> CMSC >> 420 (Fall, 2008)
Spring 2001 http:/www.cs.umd.edu/~mount/420/ Instructor: Dave Mount. Oce: AVW 3209. Email: mount@cs.umd.edu. Oce phone: (301) 4052704. Oce hours: Mon, Wed 3:004:00 I am also available immediately after class for questions. If the question is short (a...
Maryland >> CMSC >> 420 (Fall, 2008)
Lecture Notes CMSC 420 CMSC 420: Data Structures1 Spring 2001 Dave Mount Lecture 1: Course Introduction and Background (Tuesday, Jan 30, 2001) Algorithms and Data Structures: The study of data structures and the algorithms that manipulate them is a...
Maryland >> CMSC >> 420 (Fall, 2008)
...
Maryland >> CMSC >> 420 (Fall, 2008)
...
Maryland >> CMSC >> 424 (Fall, 2008)
CMSC424 Oracle/JDBC/Cluster FAQ Page 1 Oracle Database Access With Java/JDBC Frequently Asked Questions This note is meant to answer a lot of questions Ive been getting, in trying to get my project up and running for CMSC 424. My database is inten...
Maryland >> CMSC >> 427 (Fall, 2008)
CMSC 427 Computer Graphics1 David M. Mount Department of Computer Science University of Maryland Spring 2004 1 Copyright, David M. Mount, 2004, Dept. of Computer Science, University of Maryland, College Park, MD, 20742. These lecture notes were prep...
Maryland >> CMSC >> 427 (Fall, 2008)
CMSC 427: Computer Graphics Spring 2004 http:/www.cs.umd.edu/mount/427/ Instructor: Dave Mount. Oce: AVW 3373. Email: mount@cs.umd.edu. Oce phone: (301) 4052704. Oce hours: Mon 2:30-3:30, Wed 2:30-3:30. I am also available immediately after class fo...
Maryland >> CMSC >> 427 (Fall, 2008)
CMSC 427: Computer Graphics Spring 2004 http:/www.cs.umd.edu/mount/427/ Instructor: Dave Mount. Oce: AVW 3373. Email: mount@cs.umd.edu. Oce phone: (301) 4052704. Oce hours: Mon 2:30-3:30, Wed 2:30-3:30. I am also available immediately after class fo...
Maryland >> CMSC >> 433 (Fall, 2008)
CMSC 433: Programming Language Technologies and Paradigms Instructor: Vibha Sazawal Fall 2006 Contact information Email me at vibha@cs (include 433 in your subject line) Time TuTh 3:30to 4:45PM, CSIC 2117 1 What is this course about? This course is ...
Maryland >> CMSC >> 434 (Fall, 2008)
Comprehensive Patient History Search System Hyunyoung Song (hsong@cs.umd.edu) John Brennan (jbren@wam.umd.edu) Nima Negahban (nimacn@gmail.com) Managing patients data occupies around 20% of annual nation wide medical expense. There are many reasons ...
Maryland >> CMSC >> 451 (Fall, 2008)
CMSC 451 Design and Analysis of Computer Algorithms1 David M. Mount Department of Computer Science University of Maryland Fall 2003 1 Copyright, David M. Mount, 2004, Dept. of Computer Science, University of Maryland, College Park, MD, 20742. These ...
Maryland >> CMSC >> 451 (Fall, 2008)
CMSC 451: Design and Analysis of Computer Algorithms Fall 2003 http:/www.cs.umd.edu/mount/451/ Instructor: Dave Mount. Oce: AVW 3373. Email: mount@cs.umd.edu. Oce phone: (301) 4052704. Oce hours: Mon 2:30-3:30, Wed 3:30-4:30. I am also available imme...
Maryland >> CMSC >> 451 (Fall, 2008)
CMSC 451: Design and Analysis of Computer Algorithms Fall 2003 http:/www.cs.umd.edu/mount/451/ Instructor: Dave Mount. Oce: AVW 3373. Email: mount@cs.umd.edu. Oce phone: (301) 4052704. Oce hours: Mon 2:30-3:30, Wed 3:30-4:30. I am also available imme...
Maryland >> CMSC >> 634 (Fall, 2008)
CMSC 634 Project 3 Due: start of class on December 2nd, unless you have a special extension given by the Instructor due to IRB issues. Work in pairs or groups of three. Conduct empirical research (quantitative or qualitative) that would be of interes...
Maryland >> CMSC >> 634 (Fall, 2008)
CMSC 634 Project 2 Due: start of class on November 6th. Work in pairs or groups of 3. Compare the performance of two versions of the Mersenne Twister pseudorandom number generator. Any variants of the Mersenne Twister, such as SMFT, are acceptable to...
Maryland >> CMSC >> 634 (Fall, 2008)
CMSC 634 Project Presentation Grading Rubric and Guidelines Project presentations must be at most 15 minutes long. I will give you hand signals when you have 5 minutes left, 2 minutes left, and when time is up. When time is up, you must stop and you ...
Maryland >> CMSC >> 634 (Fall, 2008)
...
Maryland >> CMSC >> 651 (Fall, 2008)
LECTURE NOTES FOR CMSC 651 TURNING A NON CONSTRUCTIVE ALGORITHM INTO A CONSTRUCTIVE ONE Def 0.1 Let gSAT be the function that does the following: On input (a formula), If SAT the gSAT () = N O. / If SAT then gSAT () is a satisfying assignment ...
Maryland >> CMSC >> 651 (Fall, 2008)
Fall 2006 CMSC 651: MIDTERM Due: Nov 1 1. (0 points) What is your name? 2. (20 points) Show how to multiply two nn matrices over Z5 in O(n3 / log n) steps in a manner similar to the one given in class for Z2 . 3. (20 points) (a) Give the algorithm...
Maryland >> CMSC >> 651 (Fall, 2008)
Fall 2006 CMSC 651: Homework 4 Due: Due Nov 1 (This is a WRITTEN HW) 1. (25 points) (a) Dene the 3-processor scheduling problem in a way analogous to the 2-processor scheduling problem (b) Dene a kind of matching problem such that an optimal solut...
Maryland >> CMSC >> 651 (Fall, 2008)
Fall 2006 CMSC 651: Homework 5 Due: Due Nov 13 (This is a WRITTEN HW) 1. (25 points) Let k, n N. An (n, k)-Grey Code is a list of all elements of {1, 2, . . . , k}n such that every two adjacent elements dier in only one place, and in that one pla...
Maryland >> CMSC >> 652 (Fall, 2008)
CMSC 652- Complexity Theory- GUIDE I will list a set of theorems that we have learned in this course. If there is no comment on them then you should know the statement and proof (that is, they are fair game for the exam). 1. There are problems that a...
Maryland >> CMSC >> 652 (Fall, 2008)
Fall 2007 Due Oct 12 CMSC 652: Homework 5 William Gasarch 1. (10 points) Write your name clearly. Staple. Where and when will the midterm be? HW must be TYPED or NEAT. 2. (30 points) Let HI-MID-LO-SAT be the following PROMISE problem: You are giv...
Maryland >> CMSC >> 652 (Fall, 2008)
Notes for CMSC 652 Randomized Polynomial Time William Gasarch 1 R: Randomized Polynomial Time With 1Sided Error Def 1.1 A set A is in R (Randomized Polynomial Time) if there exists a polynomial p, and a polynomial predicate B so that for all n, an...
Maryland >> CMSC >> 652 (Fall, 2008)
Notes For CMSC 652 The Few Unconditional Theorems in Complexity Theory William Gasarch As most of you know, we do not know the answer to the basic question: does P=NP? So what do we know? Not much. This section contains theorems we actually know. The...
Maryland >> CMSC >> 666 (Fall, 2008)
Numerical Analysis I CMSC 666 / MAPL 666 Midterm Exam Solutions Fall 2008 1a. The existence of p2 follows from the Lagrange form of the interpolating polynomial, and uniqueness from the fundamental theorem of algebra. b. For j = 0, we have the erro...
Maryland >> CMSC >> 666 (Fall, 2008)
Numerical Analysis I CMSC 666 / MAPL 666 Homework 3 Due October 30, 2008 1. Derive an error bound for Simpsons rule by dividing the interval in half and using the error formula for polynomial interpolation. How does this bound compare to the one ob...
Maryland >> CMSC >> 666 (Fall, 2008)
Numerical Analysis I CMSC 666 / MAPL 666 Homework 2 Solutions Fall 2008 1. For any function g, the polynomial of degree at most n that interpolates g at {xj }n is j=0 n p(g) (x) = n j=0 g(xj ) (x) . It follows that for any bounded g, n n |p(g) ...
Maryland >> CMSC >> 666 (Fall, 2008)
Numerical Analysis I CMSC 666 / MAPL 666 Midterm Exam Due 5PM, November 6, 2008 1. Consider interpolation of the function f (x), 0 x h, by a quadratic polynomial p2 (x), i.e., p2 (0) = f (0), p2 (h/2) = f (h/2), p2 (h) = f (h). a. Prove that p2 ...
Maryland >> CMSC >> 712 (Fall, 2008)
cmsc 712 F03 Exam 1b & solution Nov 14 in class 2 problems amounting to 50% of Exam 1. Total time 120 mins. No book, no notes. Your answer will be judged on accuracy, readability, and elegance. Hand in only your nal answer. Write on only on...
Maryland >> CMSC >> 712 (Fall, 2008)
cmsc 712 F03 Exam 1a & solution Take home Due Monday November 17 at 5:00 pm. Slip it under my ofce door or email it to me. Your answer will be judged on accuracy, readability, and elegance. Write neatly or type (font size 10 or more). Use ...
Maryland >> CMSC >> 724 (Fall, 2008)
CMSC 724: Indexes Amol Deshpande University of Maryland, College Park February 20, 2007 *Adapted from Joe Hellersteins Notes (http:/redbook.cs.berkeley.edu/redbook3/lec4.html) Access Methods Heap les and indexes Support iterator interface: open (p...
Maryland >> CMSC >> 724 (Fall, 2008)
CMSC 724: RAID; 5 Minute Rule Amol Deshpande University of Maryland, College Park February 22, 2007 Technology Trends Laws Moores law (transisters/chip doubles every 18 months) Joys law (MIPS doubles every year) . . . Amdahls Law: No point in impr...
Maryland >> CMSC >> 724 (Fall, 2008)
CMSC 724: Distributed Transactions; Dangers of Replication Amol Deshpande University of Maryland, College Park March 8, 2007 *Adapted from Joe Hellersteins Notes (http:/redbook.cs.berkeley.edu/redbook3/lecs.html) Distributed Databases Goal: a smal...
Maryland >> CMSC >> 724 (Fall, 2008)
CMSC 724: Databases and Web Amol Deshpande University of Maryland, College Park May 8, 2007 Web: Challenges and Demands Emergence of web services Document searching More similar to Information Retreival than DB Querying Vertical searching ? Unpre...
Maryland >> CMSC >> 735 (Fall, 2008)
CMSC 735 Spring 06 Tentative Class Schedule (Subject to change) Date Topic Jan 26 Motivation, Empirical Software Engineering Jan 31 Models and Measures Background Feb 2 Models and Measures (Resources) Feb 7 Models and Measures (Resources) Feb 9 Model...
Maryland >> CMSC >> 735 (Fall, 2008)
...
Maryland >> CMSC >> 735 (Fall, 2008)
CMSC 735 Fall \'02 Tentative Class Schedule Date Sep 3 Sep 5 Sep 10 Sep 12 Sep 17 Sep 19 Sep 24 Sep 26 Oct 1 Oct 3 Oct 8 Oct 10 Oct 15 Oct 17 Oct 22 Oct 24 Oct 29 Oct 31 Nov 5 Nov 7 Nov 12 Nov 14 Nov 19 Nov 21 Nov 26 Nov 28 Dec 3 Dec 5 Dec 10 Dec 12 T...
Maryland >> CMSC >> 735 (Fall, 2008)
CMSC 735 Assignment #2 February 23, 2006 Due: March 3, 2006 Please answer the following questions. 1. List the factors that you believe significantly affect software development costs and software quality? (3) 2. Argue the strengths and weaknesses o...
Maryland >> CMSC >> 752 (Fall, 2008)
Fall 2008 CMSC 752: Homework 1 Due: Due Sep 15 before class begins READING: Chapters 1,2, and notes Average Case Complexity of EQ 1. (0 points) What is your name? 2. (30 points) Let g : N N such that g is monotone increasing and g(n) < n (e.g., ...
Maryland >> CMSC >> 752 (Fall, 2008)
Fall 2008 CMSC 752: Homework 7 Due: Oct 29 READING: The notes on Branching programs and 2-party Comm. Comp. 1. (10 points) What is your name? 2. (30 points) Let 0 < < < 1. fn (b1 , . . . , bn ) = Show that D(f n 3. (30 points) Let M AJn (b1 , . ....
Maryland >> CMSC >> 754 (Fall, 2008)
CMSC 754 Computational Geometry1 David M. Mount Department of Computer Science University of Maryland Fall 2002 1 Copyright, David M. Mount, 2002, Dept. of Computer Science, University of Maryland, College Park, MD, 20742. These lecture notes were p...
Maryland >> CMSC >> 754 (Fall, 2008)
CMSC 754: Computational Geometry Fall 2002 http:/www.cs.umd.edu/~mount/754/ Instructor: Dave Mount. Oce: AVW 3209. Email: mount@cs.umd.edu. Oce phone: (301) 4052704. Oce hours: Mon 3:004:00, Wed 3:304:30. I am also available immediately after class ...
Maryland >> CMSC >> 828u (Fall, 2008)
Welcome to CMSC 828U Administrivia Overview Tentative syllabus and schedule Topic 1: Data Modeling Glossary of terms Project 1: Navigational Queries on NCBI data sources. 2005 Robert H. Smith School of Business University of Maryland Admini...
Maryland >> CMSC >> 838p (Fall, 2008)
CMSC 838P: Research in Software Engineering Instructor: Vibha Sazawal Spring 2006 Contact information Email me at vibha@cs (include 838P in your subject line) Time TuTh 11:00am to 12:15pm, CSIC 3118 Sub area Software Engineering and HCI Comps PhD qua...
Maryland >> CMSC >> 838p (Fall, 2008)
CMSC 838P: Research in Software Engineering Instructor: Vibha Sazawal Spring 2006 The course project offers you the chance to deepen your knowledge of software engineering research and gain practical research experience. Through the project, you will...
Maryland >> CMSC >> 838p (Fall, 2008)
CMSC 838P: Research in Software Engineering Instructor: Vibha Sazawal Spring 2006 This reading list is tentative and is subject to change. The list is divided into ten topics. Some topics are larger than others and will span multiple weeks. Books Th...
Maryland >> MUET >> 620 (Fall, 2008)
...
Maryland >> COMM >> 125 (Fall, 2008)
ABSTRACT Title of Dissertation: DEVELOPING HIGHLY ACCURATE AND STABLE OPEN-REGION ELECTROMAGNETIC SIMULATIONS Xin Wu, Doctor of Philosophy, 2003 Dissertation directed by: Assistant Professor Omar M. Ramahi Department of Mechanical Engineering, and...
Maryland >> COMM >> 125 (Fall, 2008)
J/A+AS/125/439 Stellar models until He burning - III. (Claret+, 1997) = Stellar models for a wide range of initial chemical compositions until helium burning. III. From X=0.55 to X=0.75, for Z=0.03 Claret A. <Astron. Astrophys. Suppl. Ser. 125, 439 (...
Maryland >> COMM >> 125 (Fall, 2008)
J/A+AS/125/229 A standard stellar library (Lejeune+ 1997) = A standard stellar library for evolutionary synthesis. I. Calibration of theoretical spectra. Lejeune T., Cuisinier F., Buser R. <Astron. Astrophys. Suppl. Ser. 125, 229 (1997)> =1997A&AS.12...
Maryland >> COMM >> 200 (Fall, 2008)
The solution of the Cauchy problem with large data for a model of a mixture of gases Helge Holden Department of Mathematical Sciences, Norwegian University of Science and Technology, Norway and Centre of Mathematics for Applications, University of Os...
Maryland >> COMM >> 200 (Fall, 2008)
ABSTRACT Title of Dissertation: DYNAMICS OF RANDOM EARLY DETECTION GATEWAY UNDER A LARGE NUMBER OF TCP FLOWS Peerapol Tinnakornsrisuphap, Doctor of Philosophy, 2004 Dissertation directed by: Professor Armand M. Makowski Department of Electrical and ...
Maryland >> COMM >> 230 (Fall, 2008)
A global continuous semigroup of dissipative solutions for the CamassaHolm equation Helge Holden NTNU, Norway holden@math.ntnu.no Xavier Raynaud NTNU, Norway raynaud@math.ntnu.no We show in [4] that the CamassaHolm equation ut uxxt + 3uux 2ux uxx ...
Maryland >> COMM >> 324 (Fall, 2008)
1 COMM 324: Communication & Gender Spring 2006 Shady Grove Instructor: Richard Winston Telephone: Office Hours: By Appointment . Office: E-mail ricwinston@msn.com WEBSITE : http:/www.wam.umd.edu/~rwinston/home.htm 301-405-8976 Skinner 2102 You shoul...
Maryland >> COMM >> 360 (Fall, 2008)
Comm 360: Lecture 1 from PP Definitions of rhetoric: Aristotle: George Kennedy: \"argument by all available means of persuasion \"the energy inherent in emotion and thought, transmitted through a system of signs, including language, to others to influe...
Maryland >> COMM >> 360 (Fall, 2008)
The Slave Trade -The African slave trade officially begins in 1441 when Portuguese sailor Antam Goncalves seizes 10 Africans near Cape Bojador, Africa. -10 million Africans were imported between 1400-1800 -Labor demand in the New World boosted the ...
Maryland >> COMM >> 398 (Fall, 2008)
Comm 398 Article Signup by Number 1 Debby Tempio 21 Mike Millner 2 22 Carolyn Goldberg 3 Eileen Sierra 23 Ronnie Gibbons 4 Tara Blake 24 Blake Egerton 5 Alexandra Berger 25Courtney Tholen 6 Lindsay Robbins 26 Fariba Ahdoot 7Meredith Conway 27 Shaady ...
What are you waiting for?