Sunteți pe pagina 1din 5

Amdahlov i Gustafsonov zakon [uredi]

Izvođenje programa i ubrzanje real-world programa sa suboptimalnom paralelizacijom. Plava krivulja


prikazuje moguće (linearno) ubrzanje izvođenja u optimalnom slučaju, dok ljubičasta krivulja prikazuje
stvarno (suboptimalno) ubrzanje. Iz istog razloga žuta krivulja prikazuje moguće vrijeme izvođenja u
optimalnom slučaju (asimptota koja se približava nuli), dok crvena krivulja prikazuje stvarno vrijeme
izvođenja (asimptota koja se približava vrijednosti većoj od nule)
Teoretski gledano, ubrzanje dobiveno paralelizacijom udvostručenjem elemenata za obradu trebalo bi
prepoloviti vrijeme izvođenja, a drugim udvostručenjem također bi se vrijeme izvođenja trebalo
propoloviti. Ipak, vrlo mali broj paralelnih algoritama postiže optimalno ubrzanje. Većina ima skoro pa
linearno ubrzanje za mali broj elemenata za obradu. Daljnjim povećanjem broja elemenata za obradu
vrijeme obrade postaje jednoliko (konstantno).
Performanse algoritma u platformama s paralelnom obradom ovise o paraleliziranosti algoritma u cilju
dostizanja performansi, stoga je važno pripaziti na Amdahlov zakon. Amdahlov zakon je formulirao
Gene Amdahl 60-ih godina prošlog stoljeća.[9] On tvrdi da mali dijelovi programa koji se ne mogu
paralelizirati ograničavaju ukupno ubrzanje dobiveno paralelizacijom. Bilo koji matematički ili
inženjerski problem uobičajeno će se sastojati od nekoliko dijelova, koji se mogu paralelizirati i
nekoliko koji se ne mogu paralelizirati (sekvencijalne komponente). Ovaj odnos je dan izrazom:

gdje je S ubrzanje programa (kao faktor njegovog osnovnog sekvencijalnog izvođenja), a P dio koji se
paralelizira. Ne može se ostvariti ubrzanje više od 10x, ako sekvencijalni dio programa iznosi 10%
izvođenja, bez obzira koliko procesora dodajemo. Na ovaj način je postavljena gornja granica
korisnosti dodavanja više paralelnih izvršnih jedinica."[10]
Gustafsonov zakon je drugi zakon računalnog inženjeringa, usko vezan za Amdahlov zakon.
Gustafsonov zakon se može formulirati kao:
Grafički prikaz Amdahlova zakona, pretpostavljeno je da zadatak ima dva nezavisna dijela, A i B. B
zauzima otprilike 25% vremena ukupne obrade. Programer naporima može ubrzati taj dio 5 puta, ali to
samo malo smanjuje vrijeme ukupne obrade. Za usporedbu, drugi bi trebao mnogo manje vremena
kako bi ubrzao A-dio dva puta. Obrada će sada biti mnogo brža nego li optimiziranjem B-dijela, iako B
ima veće ubrzanje (5x naprema 2x).
gdje je P - broj procesora, S - ubrzanje, i α - neparalelizirani dijelovi procesa.[11] Amdahlov zakon
pretpostavlja konačnu veličinu problema i ta veličina sekvencijalnog dijela je neovisna o broju
procesora, dok Gustafsonov zakon nema tih pretpostavki

Vektorski procesori [uredi]

Cray-1 je najslavniji vektorski procesor.


Vektorski procesor je CPU ili računalni sustav koji može izvršavati iste instrukcije na velikim
skupovima podataka. „Vektorski procesor ima operacije visokog nivoa koje rade s linearnim nizovima
brojeva ili vektora. Primjer vektorske operacije je A=B ×C, gdje A, B i C čine svaki 64-elementni
vektor 64-bitnih brojeva s pomičnim zarezom. Usko su povezani s Flynnovom SIMD klasifikacijom.
Cray računala su postala slavna zbog svojih računala za vektorsku obradu 70-ih i 80-ih godinama
prošlog stoljeća. Ipak, vektorski procesori – ujedno CPU-i i potpuni računalni sustavi – općenito su
nestali. Moderni procesorski instrukcijski setovi uključuju neke instrukcije za vektorsku obradu, kao
što su AltiVec i SSE (Streaming SIMD Extensions).

Predrag KrtolicaИспитна питања из предмета


ПАРАЛЕЛНА ОБРАДА
1. Разлози увођења паралелних система.

2. Флинова класификација паралелних система.

3. Алтернативне класификације паралелних система.

4. Мерење и извештавање перформанси.

5. Амдалов закон.

6. Густафсонов закон.

7. Перформансе CPU-а.

8. Појам проточности и перформансе проточних система.

9. Гранање код проточних система.

10. Употреба регистара код RISC архитектура.

11. Карактеристике RISC и CISC приступа.

12. Проточност код RISC архитектура.

13. Појам суперскаларних и суперпроточних машина.

14. Ограничења суперскаларности.

15. Паралелизам на нивоу инструкција.

16. Политике издавања инструкција код суперсклараних машина.

17. Преименовање регистара код суперсклараних машина.

18. Мотивација за коришћење векторских процесора.

19. Основне векторске архитектуре.

20. Векторско време извршења.

21. Load/Store једнице и меморијски подсистем код векторских рачунара.

22. Проблем дужине вектора код векторских рачунара.

23. Корак вектора код векторских рачунара.

24. Техника ланчања код векторских рачунара.

25. Векторизација петљи код векторских рачунара.

26. Обрада ретко посегнутих матрица код векторских рачунара.


27. Програмски језици за векторске рачунаре.

28. Организација процесорских поља.

29. Структура процесног елемента код процесорских поља и технике маскирања процесних
елемената.

30. Комуникација међу процесним елементима.

31. Процесорске спрежне мреже.

32. Мотивација за коришћење мултипроцерсора.

33. Класификација мултипроцесора.

34. Појам и карактеристике симетричних мултипроцесора.

35. Предности симетричних мултипроцесора у односу на једнопроцесорске машине.

36. Општа шема симетричних мултипроцесора.

37. SMP са дељивом магистралом.

38. SMP са вишепортном меморијом.

39. SMP са централном управљачком јединицом

40. Појам кеш кохеренције.

41. Софтверска решења проблема кеш кохеренције.


42. Директоријумске шеме за обезбеђивање кеш кохеренције.

43. Snoopy протокол за обезбеђивање кеш кохеренције.

44. Протоколи са инвалидацијом при упису.

45. Протоколи са ажурирањем при упису.

46. MESI протокол.

47. Појам кластера.

48. Предности кластера.

49. Класификација кластера.

50. Карактеристике оперативних система за кластере.

51. Поређење кластера и SMP-а.

52. Појам NUMA организације.

53. CC-NUMA организација.

54. Проблем кеш кохеренције код NUMA организације.

55. Предноси и недостаци NUMA организације.

56. Мотивација и основне карактеристике архитектуре IA-64.

57. Општа организација IA-64.

58. Формат инструкција код IA-64.

59. Формат асемблерског језика код IA-64.

60. Предикатско извршење код IA-64.

61. Управљачка спекулација.

62. Спекулација подацима.

63. Софтверска проточност код IA-64.

64. Скуп видљивих регистара код IA-64.

65. Механизам регистарског магацина код IA-64.

66. Организација Itanium-a.