Figure over viser 5 arbeidsoppgaver som hver tar 0 miutter å utføre av e arbeider. (E oppgave ka ku utføres av é arbeider.) Hver pil i figure betyr at oppgave som blir pekt på ikke ka starte før oppgave hvor pile kommer fra er ferdig utført. Hva er korteste tid for 4 arbeidere å gjøre ferdig alle oppgavee? (Du må begrue svaret ditt.) Gjeta samme spørsmålet år det er 3 arbeidere. Aswer: (4 workers) ) For the first step, there is oly oe optio (amely the root) ) For the secod step we oly have to choose from, ad choose both. 3) For the third step we have 4 optios, ad choose them all. 4) For the fourth step, we have 8 possibilities, ad 4 "workers". However as oe of the tasks have depedecies, we ca choose at radom. 5) Choose the remaiig 4 tasks.
Aswer: (3 workers) 3) We have 4 optios, ad three possibilities. We choose three at radom. 4) We have 7 optios available, we choose two at radom, plus the remaiig ode at level 3, to ope up more optios. 5) he rest ca be progressed at radom. Alterately, task 4 ca pick three at radom, but task 5 would be required to pick the level 3 ode, or step 6 would have a delay i processig (lack of tasks for each worker)
Vår 00 Du har oppgaver som alle tar like lag tid, og e datamaski med P prosessorer. Vi atar at er større e P og er ikke delelig på P. Forklar hvorda du ka fordele oppgavee så jevt som mulig på prosessoree I tilfeller ved atall oppgaver som tar like lag tid vil vi alltid kue dele oppgavee så forskjelle mellom oppgaver per prosessor er maksimalt e. Eksempel: Gitt = 0 oppgaver, og p = 6 prosessorer. Hvis vi gir 3 oppgaver til hver prosess eder vi med 8 brukte oppgaver, mes aldri blir gjort. Gir vi de resterede oppgavee til é prosess vil alle sitte å vete på de to potesielt tidskrevede prosessee. Gir vi 4 oppgaver til hver prosess vil vi måtte ha 4 oppgaver. E løsig på dette er å dele ut 3 oppgaver til alle prosesser, og dele de resterede til adre prosesser. r mod p if r = 0 do :: Assig /p to each else do :: Assig /p+ to the first r processes :: Assig /p to the remaiig p-r processes.
Assigmet.5 from the book Give a task that ca be divided ito m subtasks, each requirig oe uit of time, how much time is eeded for a m-stage pipelie to process tasks? Example: m = 3 Steps, = 0 tasks. Each step is /m of the time it takes to do a task without pipelies.. he first step will take uit of time, produces othig. ( i pipe). he secod step will take uit of time, produces othig. ( i pipe) 3. he third step will take uit of time, produces oe. (3 i pipe) 4. he fourth step will take uit of time, produces oe. (3 i pipe) 5. he fifth step will take uit of time, produces oe. (ad so o..) We see that we produce oe uit every step, except the first two (m-). hus edig with the formula m-+ I order to produce 0 uits without a pipelie, it would take m uits of time.
If we deote by pipe, which is foud i the above exercise, the time required to process tasks usig a m-stage pipelie. Let us also deote by seq the time eeded to process tasks without pipeliig. How large should be i order to get a speedup of p? From last assigmet we kow that pipe = m - + ad seq = m. herefore the speedup is pipe seq m m p o solve for N with a give P, we have: m p ( ) m p
he complexity of a algorithm ofte becomes more, ot less, sigificat as computer speeds icrease. For example, a aircraft desiger rus oe simulatio each eveig betwee 5.M. ad 5 A.M. Whe she gais access to a faster computer, she uses this extra speed to ru a larger simulatio (oe that ca provide more detailed results) i the same amout of time. Suppose her curret computer ca solve a problem of size 00,000 i 5 hours. Assume that executio time is determied solely by CPU speed; i.e., all other resources such as I/O badwidth ad primary memory are ot a costrait o performace. How large a problem ca be solved i 5 hours by a computer that is 00 times faster if the simulatio program's time complexity is: a. O() b. O( log ) c. O( ) d. O( 3 ) Svar: Det viktigste å få med seg her, er at vi å har 00 gager flere "komputasjostimer". Dvs vi har å 500 timer til rådighet, for de tidligere problemstørrelse. c. O( ) = C = Dersom problemstørrelse tar 5 timer å løse: = C = 5 timer Ved 500 timer til rådighet har vi: = C = 500 timer 00 00 0 Vi ka løse et problem som er ti gager større, gitt e datamaski som er 00 gager raskere.
a. O() Setter vi samme formel for O() vil vi få: 00 E økig på 00 gager, om vi har e datamaski som er 00 gager raskere. b. O( log ) log log 00 d. O( 3 ) 00 3 00 4.64 E økig på 4.64 gager, om vi har e datamaski som er 00 gager raskere.