Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

The time to do a single thing is its latency.Parallelism speeds total work done by doing multiple things at thesame time - that is ,

The time to do a single thing is its latency.Parallelism speeds total work done by doing multiple things at thesame time - that is, bandwidth. It is easy to combine tasks with different latencies by just scheduling one after another. Speeding up any one task speeds up the total (subject to limitations from Amdahl's law).If we combine multiple tasks by running them in parallel, thetotal time to do all of them is limited by the longest task - goodspeedup from parallelism requires that all tasks take close to themsame time. Also, some tasks have dependencies that mean they needto be done in specific order. We have to know this is the case so we don't parallelize incorrectly (this is not a problem for latencyimprovements if we just schedule everything in order).Things get more complicated when we have multiple stages that have to be done in order, but we want to speed up each stage through parallelism.The issue is: we have to match bandwidth. If we have a sequence ofactions in some order (bandwidth 1) how do we transfer to multipleconcurrent things? If the thing we are parallelizing is instructions,it is difficult to read them from memory in some order and then run themout of order - we might not get any speedup because to run things in parallel we may need to halt some tasks so we can start a bunch together,which can easily result in overall slowdown, not speedup. If we havemultiple concurrent tasks, and need to reduce the bandwidth to onething at a time, we may need to halt some of them so we can releaseothers in sequence.If we increase bandwidth - we have hardware to do more tasks in parallelthan the number of tasks, then we may be wasting hardware and power. If we reduce bandwidth - then we have to halt some tasks because wedon't have the ability to run them all at once, but then we have to keeptrack of what we are halting so we can restart it later, and wehave a storage problem which may cause a crash. THE PROBLEM:Assume a CPU and memory as described in the textbook: section 2.6 pg 165 Intel I76700 memory system section 3.12 pg 284 Intel I7 CPU core Assume : CPU: intel i7,8 core, 2800MHz dinamic speedup to 4000MHz depending on load RAM: DDR43200 MHz on 416GB chips, latency 16 cycles, bandwidth 12 GB/sec (each chip. With hyper threading, this system supports 16 concurrent threads.System resources and bandwidth usage depend on the kind ofprograms a system typically runs.Ch oose ONE of the following for your analysiscode1: science-computational code: 2 memory reads, 1 write every 30 instructions working set 5 Mbytecode2: business-data processing code 2 memory reads, 2 writes every 10 instructions working set 500 KbytesGiven the real hardware described here, and the code styleyou choose: 1. Are there any bandwidth mismatches in executing a single thread on one core (no hyper threading)? Consider memory bandwidthrequires, instruction decode and execution parallelism, changes whenCPU clock speed changes but memory speed is constant. 2. Multiple processes - Ideally since all CPU cores are the same,you should be able to run 8 processes at the same speed as any singleprocess -8 times the work in the same time.However you are sharing memory and maybe L3 cache. How manyprocesses can you actually run without some slowing? How much slowdown do you get with 8 processes? YOUR TASK: For each of the above questions, what we want is a good approach - In every case show the assumptions you make, the stepsyou take, and the reasoning behind your conclusions.If you think you need more information than the references from thebook and the information given in the problem, feel free to addwhat you need, but give verifiable references (Not enough to sayyou got memory specifications for Crucial DDR4 chips, give me alink I can verify). If you need to make any additional assumptions,state them at the start of your problem solution.Your answers should make sense - If they don't, try to explain whyor figure out where the problem is. example, 8 identical processes on 8cores should take a little longer than the time of 1 process on 1 core,but if your analysis says they take 5 times longer, you have madea mistake somewhere. If you think your answer is wrong, but you don'tknow why, say that you think it is wrong, it is worth at least partialcredit.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Design And Implementation

Authors: Edward Sciore

2nd Edition

3030338355, 978-3030338350

More Books

Students also viewed these Databases questions

Question

What strategic problems does Robin Hood have?

Answered: 1 week ago