arch2-1(amdhal)

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Amdahl’s Law

Advanced Computer Architecture & Design


1
Science & Research Branch
‫ﺑﺮﺩﺍﺷﺖ ﻧﺎﺩﺭﺳﺖ‬

‫• ﺑﺮﺩﺍﺷﺖ ﻧﺎﺩﺭﺳﺖ ‪:‬ﺍﻧﺘﻈﺎﺭ ﺑﻬﺒﻮﺩ ﻳﮏ ﺟﻨﺒﻪ ﺍﺯ ﮐﺎﻣﭙﻴﻮﺗﺮ ﺩﺭ‬


‫ﺍﻓﺰﺍﻳﺶ ﮐﺎﺭﺁﻳﯽ ﺑﺎ ﻣﻘﺪﺍﺭی ﻣﺘﻨﺎﺳﺐ ﺑﺎ ﺍﻧﺪﺍﺯﻩ ﺑﻬﺒﻮﺩ‬

‫‪Advanced Computer Architecture & Design‬‬


‫‪2‬‬
‫‪Science & Research Branch‬‬
‫ﻣﻘﻴﺎﺱ ﭘﺬﻳﺮی‬
‫• ﻣﻘﻴﺎﺱ ﭘﺬﻳﺮﻱ ﻭﻳﮋﮔﻲ ﻣﻄﻠﻮﺑﻲ ﺍﺯ ﻳﻚ ﺳﻴﺴﺘﻢ‪ ،‬ﺷﺒﻜﻪ ﻭ ﻳﺎ ﭘﺮﻭﺳﻪ‬
‫ﺍﺳﺖ ﻛﻪ ﺗﻮﺍﻧﺎﻳﻲ ﺁﻥ ﺭﺍ ﺑﺮﺍﻱ ﭘﺎﺳﺨﮕﻮﻳﻲ ﺑﻪ ﺍﻓﺰﺍﻳﺶ ﻣﻴﺰﺍﻥ ﺑﺎﺭ ﻛﺎﺭﻱ‬
‫ﺷﺮﺡ ﻣﻲ ﺩﻫﺪ ﻭ ﻳﺎ ﻣﻴﺰﺍﻥ ﺁﻣﺎﺩﮔﻲ ﺳﻴﺴﺘﻢ ﺭﺍ ﺑﺮﺍﻱ ﺍﻓﺰﺍﻳﺶ ﺑﺎﺭ ﻛﺎﺭﻱ‬
‫ﻧﺸﺎﻥ ﻣﻲ ﺩﻫﺪ‪.‬‬
‫• ﺑﻪ ﻋﻨﻮﺍﻥ ﻧﻤﻮﻧﻪ‪ ،‬ﻣﻘﻴﺎﺱ ﭘﺬﻳﺮﻱ ﻣﻲﺗﻮﺍﻧﺪ ﺑﻪ ﺗﻮﺍﻧﺎﻳﻲ ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺮﺍﻱ‬
‫ﺍﻓﺰﺍﻳﺶ ﻋﻤﻠﻜﺮﺩ ﻛﻠﻲ ﺩﺭ ﻫﻨﮕﺎﻡ ﺍﻓﺰﻭﺩﻥ ﻣﻨﺎﺑﻊ)ﻣﺜﻞ ﺳﺨﺖ ﺍﻓﺰﺍﺭ( ﺍﺷﺎﺭﻩ‬
‫ﻛﻨﺪ‪.‬‬
‫‪Advanced Computer Architecture & Design‬‬
‫‪3‬‬
‫‪Science & Research Branch‬‬
‫• ﺳﻴﺴﺘﻤﯽ ﻛﻪ ﺑﺎ ﺍﻓﺰﺍﻳﺶ ﻇﺮﻓﻴﺖ‪ ،‬ﻛﺎﺭﺍﻳﻲ ﺁﻥ ﺍﻓﺰﺍﻳﺶ ﻣﻲ ﻳﺎﺑﺪ‬
‫ﻳﻚ ﺳﻴﺴﺘﻢ ﻣﻘﻴﺎﺱ ﭘﺬﻳﺮ ﺧﻮﺍﻧﺪﻩ ﻣﻲ ﺷﻮﺩ‪.‬‬

‫• ﻳﻚ ﺍﻟﮕﻮﺭﻳﺘﻢ‪ ،‬ﻃﺮﺍﺣﻲ‪ ،‬ﭘﺮﻭﺗﻜﻞ‪ ،‬ﺑﺮﻧﺎﻣﻪ ﺭﺍﻳﺎﻧﻪ ﺍﻱ ﻭ ﻳﺎ ﻫﺮ ﺳﻴﺴﺘﻢ‬


‫ﺩﻳﮕﺮﻱ ﻣﻘﻴﺎﺱ ﭘﺬﻳﺮ ﺧﻮﺍﻧﺪﻩ ﻣﻲﺷﻮﺩ ﺍﮔﺮ ﺑﺮﺍﻱ ﻣﻘﻴﺎﺱﻫﺎﻱ ﺑﺰﺭﮔﺘﺮ ﻫﻢ‬
‫ﺑﺘﻮﺍﻧﺪ ﺑﻪ ﻃﺮﺯ ﻣﻨﺎﺳﺐ ﻭ ﻋﻤﻠﻲ ﻭ ﻛﺎﺭﺍ ﺍﺳﺘﻔﺎﺩﻩ ﺷﻮﺩ‪.‬‬

‫‪Advanced Computer Architecture & Design‬‬


‫‪4‬‬
‫‪Science & Research Branch‬‬
‫ﻃﺮﺍﺣﯽ ﺑﺮﺍی ﻣﻘﻴﺎﺱ ﭘﺬﻳﺮی‬

‫• ﺍﻏﻠﺐ ﺗﻮﺻﻴﻪ ﻣﻲﺷﻮﺩ ﻛﻪ ﺩﺭ ﻃﺮﺍﺣﻲ ﺳﻴﺴﺘﻢ ﻫﺎ ﺗﻤﺮﻛﺰ ﺍﺻﻠﻲ ﺑﺮ‬


‫ﻣﻘﻴﺎﺱ ﭘﺬﻳﺮﻱ ﺑﺎﺷﺪ ﺗﺎ ﻇﺮﻓﻴﺖ‪.‬‬

‫• ﻣﻌﻤﻮﻻً ﺍﻓﺰﻭﺩﻥ ﻳﻚ ﮔﺮﻩ ﺍﺿﺎﻓﻲ ﺑﻪ ﺳﻴﺴﺘﻢ ﺑﺮﺍﻱ ﺍﻓﺰﺍﻳﺶ ﻛﺎﺭﺍﻳﻲ‬


‫ﺍﺭﺯﺍﻧﺘﺮ ﺍﺯ ﺍﻗﺪﺍﻡ ﺑﻪ ﺗﻨﻈﻴﻢ ﻛﺎﺭﺍﻳﻲ ﺗﻚ ﺗﻚ ﮔﺮﻩﻫﺎ ﺑﺮﺍﻱ ﺍﻓﺰﺍﻳﺶ ﻛﺎﺭﺍﻳﻲ‬
‫ﻛﻠﻲ ﺳﻴﺴﺘﻢ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺍﻣﺎ ﺍﻳﻦ ﺷﻴﻮﻩ ﺍﻟﺰﺍﻣﺎ ﺑﻬﻴﻨﻪ ﻧﻴﺴﺖ‪.‬‬

‫‪Advanced Computer Architecture & Design‬‬


‫‪5‬‬
‫‪Science & Research Branch‬‬
‫ﻣﺜﺎﻝ ‪1‬‬
‫• ﻓﺮﺽ ﻛﻨﻴﺪ ﻛﻪ ﺳﺮﻋﺖ ﺍﺟﺮﺍﻱ ﺑﺨﺸﻲ ﺍﺯ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺍﮔﺮ ﺑﻪ ﺻﻮﺭﺕ ﻣﻮﺍﺯﻱ ﺑﺮ ﺭﻭﻱ‬
‫ﭼﻬﺎﺭ ﭘﺮﺩﺍﺯﻧﺪﻩ ﺍﺟﺮﺍ ﺷﻮﺩ ﺗﺎ ‪ %70‬ﺍﻓﺰﺍﻳﺶ ﻣﻲ ﻳﺎﺑﺪ‪ .‬ﺍﮔﺮ ‪ α‬ﻛﺴﺮﻱ ﺍﺯ ﻣﺤﺎﺳﺒﺎﺕ‬
‫ﺑﺎﺷﺪ ﻛﻪ ﺑﻪ ﺻﻮﺭﺕ ﺳﺮﻱ ﺍﺟﺮﺍ ﻣﻲ ﺷﻮﻧﺪ‪ ،‬ﺁﻧﮕﺎﻩ ‪ 1 − α‬ﻛﺴﺮﻱ ﺍﺯ ﻣﺤﺎﺳﺒﺎﺕ‬
‫ﺧﻮﺍﻫﺪ ﺑﻮﺩ ﻛﻪ ﻣﻲ ﺗﻮﺍﻧﺪ ﺑﻪ ﺻﻮﺭﺕ ﻣﻮﺍﺯﻱ ﺍﺟﺮﺍ ﺷﻮﺩ‪ .‬ﺩﺭ ﺍﻳﻦ ﺻﻮﺭﺕ ﺣﺪﺍﻛﺜﺮ‬
‫ﺍﻓﺰﺍﻳﺶ ﺳﺮﻋﺘﻲ ﻛﻪ ﺩﺭ ﺍﺟﺮﺍﻱ ﺑﺮﻧﺎﻣﻪ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ‪P‬ﭘﺮﺩﺍﺯﻧﺪﻩ ﺭﺍ ﻣﻲ ﺗﻮﺍﻥ ﺑﺎ‬
‫ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻗﺎﻧﻮﻥ ﺍﻣﺪﺍﻝ ‪ Amdahl's law‬ﺑﺪﺳﺖ ﺁﻭﺭﺩ ﭼﻴﺴﺖ؟‬

‫• ﭘﺲ ﺍﺑﺘﺪﺍ ﺑﻪ ﺗﻮﺿﻴﺢ ﺍﻳﻦ ﻗﺎﻧﻮﻥ ﻣﻲ ﭘﺮﺩﺍﺯﻳﻢ‪.‬‬

‫‪Advanced Computer Architecture & Design‬‬


‫‪6‬‬
‫‪Science & Research Branch‬‬
‫ﻗﺎﻧﻮﻥ ﺍﻣﺪﺍﻝ‬

‫ﺑﺮﻧﺎﻣﻪ ‪ %30‬ﺍﺯ ﺯﻣﺎﻧﺶ ﺭﺍ ﺑﻪ ﮐﺪﻫﺎﻳﯽ‬


‫ﺍﺧﺘﺼﺎﺹ ﻣﯽ ﺩﻫﺪ ﮐﻪ ﻧﻤﯽ ﺗﻮﺍﻧﻨﺪ ﺩﻭﺑﺎﺭﻩ‬
‫ﺑﺮﺍی ﺍﺟﺮﺍ ﺑﻪ ﺻﻮﺭﺕ ﻣﻮﺍﺯی ﮐﺪ ﺷﻮﻧﺪ‬

‫ﻣﻴﺰﺍﻥ ﺗﺴﺮﻳﻊ ﻣﺤﺎﺳﺒﻪ ﻣﯽ ﺷﻮﺩ ﺑﺮﺍی‬


‫‪N = 2, 3, 4, 5, and ∞.‬‬

‫‪CPUs‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫∞‬

‫ﻣﻴﺰﺍﻥ ﺗﺴﺮﻳﻊ‬

‫‪Advanced Computer Architecture & Design‬‬


‫‪7‬‬
‫‪Science & Research Branch‬‬
‫ﻗﺎﻧﻮﻥ ﺍﻣﺪﺍﻝ‬
‫ﻗﺎﻧﻮﻥ ﺍﻣﺪﺍﻝ ﺩﺭ ﻣﻌﻤﺎﺭﻱ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻗﺎﻧﻮﻧﻲ ﺍﺳﺖ ﻛﻪ ﻣﻴﺘﻮﺍﻥ ﺑﻪ ﻛﻤﻚ ﺁﻥ ﺍﺭﺯﺵ‬
‫ﻛﺎﺭﻫﺎﻳﻲ ﻛﻪ ﻗﺮﺍﺭ ﺍﺳﺖ ﺍﻧﺠﺎﻡ ﺷﻮﻧﺪ ﺭﺍ ﺍﺯ ﻗﺒﻞ ﭘﻴﺶ ﺑﻴﻨﻲ ﻧﻤﻮﺩ‪ .‬ﺍﻳﻦ ﻛﺎﺭﻫﺎ‬
‫ﻋﻤﺪﺗﺎً ﻣﺮﺑﻮﻁ ﺑﻪ ﺑﻬﺒﻮﺩﻫﺎﻳﻲ ﺍﺳﺖ ﻛﻪ ﺩﺭ ﺳﺨﺖ ﺍﻓﺰﺍﺭ ﭘﺮﺩﺍﺯﻧﺪﻩ ﻫﺎ ﺩﺍﺩﻩ ﻣﻲ‬
‫ﺷﻮﺩ‪.‬‬
‫ﻗﺎﻧﻮﻥ ﺍﻣﺪﺍﻝ ﻣﻴﮕﻮﻳﺪ‪ :‬ﻗﺒﻞ ﺍﺯ ﺍﻳﻨﻜﻪ ﺑﻬﺒﻮﺩﻱ ﺭﺍ ﺍﻧﺠﺎﻡ ﺩﻫﻲ ﻳﺎ ﻛﺎﺭﻱ ﺭﺍ ﺍﻧﺠﺎﻡ‬
‫ﺩﻫﻲ ﺑﺎﻳﺪ ﺑﻪ ﻣﻴﺰﺍﻥ ﻣﺆﺛﺮ ﺑﻮﺩﻧﺶ ﻧﻴﺰ ﺗﻮﺟﻪ ﻛﻨﻲ ﻭ ﺁﻥ ﻛﺎﺭ ﺭﺍ ﻭﻗﺘﻲ ﺍﻧﺠﺎﻡ‬
‫ﺩﻫﻲ ﻛﻪ ﺗﺄﺛﻴﺮﺵ ﺩﺭ ﻣﻘﺎﺑﻞ ﻛﺎﺭﻱ ﻛﻪ ﺍﻧﺠﺎﻡ ﻣﻴﺪﻫﻲ ﻗﺎﺑﻞ ﺗﻮﺟﻪ ﺑﺎﺷﺪ‪ .‬ﺩﺭ‬
‫ﻗﺎﻟﺐ ﻓﺮﻣﻮﻝ ﻗﺎﻧﻮﻥ ﺍﻣﺪﺍﻝ ﺑﻪ ﺻﻮﺭﺕ ﺯﻳﺮ ﺑﻴﺎﻥ ﻣﻴﺸﻮﺩ‪:‬‬

‫ﺯﻣﺎﻥ ﺍﺟﺮﺍﻱ ﻗﺴﻤﺖ ﺑﻬﺒﻮﺩ ﻳﺎﻓﺘﻪ‬


‫=ﺯﻣﺎﻥ ﺍﺟﺮﺍﻱ ﺑﺮﻧﺎﻣﻪ ﺑﻌﺪ ﺍﺯ ﺑﻬﺒﻮﺩ‬ ‫ﺯﻣﺎﻥ ﺍﺟﺮﺍﻱ ﻗﺴﻤﺖ ﺑﻬﺒﻮﺩ ﻧﻴﺎﻓﺘﻪ‪+‬‬
‫ﻣﻴﺰﺍﻥ ﺑﻬﺒﻮﺩ‬

‫‪8‬‬ ‫‪Advanced Computer Architecture & Design‬‬


‫‪Science & Research Branch‬‬
‫ﻧﺘﻴﺠﻪ ﻗﺎﻧﻮﻥ ﺍﻣﺪﺍﻝ‬
‫ﻗﺴﻤﺘﻬﺎﻳﻲ ﺍﺯ ﺑﺮﻧﺎﻣﻪ ﺭﺍ ﺑﻬﺒﻮﺩ ﺩﻫﻴﻢ ﻛﻪ ﺑﻴﺸﺘﺮ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻴﺸﻮﻧﺪ ﭼﻮﻥ ﺑﻴﺸﺘﺮﻳﻦ‬
‫ﺗﺄﺛﻴﺮ ﺭﺍ ﺩﺭ ﻛﻞ ﺯﻣﺎﻥ ﺍﺟﺮﺍﻱ ﺑﺮﻧﺎﻣﻪ ﺩﺍﺭﻧﺪ‪ .‬ﻗﺎﻧﻮﻥ ﺍﻣﺪﺍﻝ ﺑﻴﺎﻥ ﻣﻴﻜﻨﺪ ﻛﻪ‬
‫ﻣﻮﺍﺭﺩ ﭘﺮ ﺍﺳﺘﻔﺎﺩﻩ ﺭﺍ ﺑﻬﺒﻮﺩ ﺩﻫﻴﻢ ﻭ ﻳﺎ ﺑﻪ ﻋﺒﺎﺭﺗﻲ ﻣﻲ ﮔﻮﻳﺪ‪:‬‬

‫‪Make the common case fast‬‬

‫‪Advanced Computer Architecture & Design‬‬


‫‪9‬‬
‫‪Science & Research Branch‬‬
‫ﻣﺜﺎﻝ ‪2‬‬

‫ﻓﺮﺽ ﮐﻨﻴﺪ ﺑﺮﻧﺎﻣﻪ ﺍی ﺩﺭ ‪ 100‬ﺛﺎﻧﻴﻪ ﺭﻭی ﻳﮏ ﮐﺎﻣﭙﻴﻮﺗﺮ ﺍﺟﺮﺍ‬


‫ﻣﯽ ﺷﻮﺩ ﮐﻪ ﺩﺭ ﺍﻳﻦ ﻣﻴﺎﻥ ﻋﻤﻠﻴﺎﺕ ﺿﺮﺏ ‪ 80‬ﺛﺎﻧﻴﻪ ﺭﺍ ﺑﻪ‬
‫ﺧﻮﺩ ﺍﺧﺘﺼﺎﺹ ﺩﺍﺩﻩ ﺍﺳﺖ‪.‬ﺍﮔﺮ ﺑﺨﻮﺍﻫﻴﻢ ﺳﺮﻋﺖ ﺍﺟﺮﺍی‬
‫ﺑﺮﻧﺎﻣﻪ ‪ 5‬ﺑﺮﺍﺑﺮ ﺷﻮﺩ ﺳﺮﻋﺖ ﺿﺮﺏ ﺭﺍ ﭼﻘﺪﺭ ﺑﺎﻳﺪ ﺑﻬﺒﻮﺩ‬
‫ﺩﻫﻴﻢ؟‬

‫‪Advanced Computer Architecture & Design‬‬


‫‪10‬‬
‫‪Science & Research Branch‬‬
‫ﭘﺎﺳﺦ ﻣﺜﺎﻝ ‪2‬‬
‫‪ 80‬ﺛﺎﻧﻴﻪ‬
‫=ﺯﻣﺎﻥ ﺍﺟﺮﺍﻱ ﺑﺮﻧﺎﻣﻪ ﺑﻌﺪ ﺍﺯ ﺑﻬﺒﻮﺩ‬ ‫)‪+(100- 80‬‬
‫‪n‬‬

‫ﺍﺯ ﺁﻧﺠﺎ ﻛﻪ ﻣﻲ ﺧﻮﺍﻫﻴﻢ ﻛﺎﺭﺁﻳﻲ ﺭﺍ ‪ 5‬ﺑﺮﺍﺑﺮ ﻛﻨﻴﻢ ﺯﻣﺎﻥ ﺍﺟﺮﺍﻱ ﺟﺪﻳﺪ ﺑﺎﻳﺪ ‪ 20‬ﺛﺎﻧﻴﻪ ﺑﺎﺷﺪ‪:‬‬
‫‪ 80‬ﺛﺎﻧﻴﻪ‬ ‫‪ 80‬ﺛﺎﻧﻴﻪ‬
‫=‪ 20‬ﺛﺎﻧﻴﻪ‬ ‫ﺛﺎﻧﻴﻪ‪+ 20‬‬ ‫‪=0‬‬
‫‪n‬‬ ‫‪n‬‬

‫ﻳﻌﻨﻲ ﻣﻘﺪﺍﺭﻱ ﻭﺟﻮﺩ ﻧﺪﺍﺭﺩ ﻛﻪ ﺑﺘﻮﺍﻧﻴﻢ ﺑﺎ ﺍﻓﺰﺍﻳﺶ ﺳﺮﻋﺖ ﺿﺮﺏ ﺩﺭ ﺻﻮﺭﺗﻲ ﻛﻪ ‪ %80‬ﺑﺎﺭ‬
‫ﻛﺎﺭﻱ ﺭﺍ ﺷﺎﻣﻞ ﺷﻮﺩ‪،‬ﻛﺎﺭﺁﻳﻲ ﺭﺍ ‪ 5‬ﺑﺮﺍﺑﺮ ﻛﻨﻴﻢ‪.‬‬

‫‪Advanced Computer Architecture & Design‬‬


‫‪11‬‬
‫‪Science & Research Branch‬‬
‫ﻣﺜﺎﻝ ‪3‬‬
‫ﻓﺮﺽ ﻛﻨﻴﺪ ﻛﻪ ﺗﺼﻤﻴﻢ ﮔﺮﻓﺘﻪ ﺑﺎﺷﻴﻢ ﺳﺨﺖ ﺍﻓﺰﺍﺭ ﭘﺮﺩﺍﺯﻧﺪﻩ ﺭﺍ ﺗﻐﻴﻴﺮ ﺩﻫﻴﻢ ﺗﺎ ﺳﺮﻋﺖ‬
‫ﺍﺟﺮﺍﻱ ﺩﺳﺘﻮﺭﺍﺕ ‪floating point‬ﺩﻭ ﺑﺮﺍﺑﺮ ﺷﻮﺩ‪ .‬ﺩﻭ ﺑﺮﺍﺑﺮ ﻛﺮﺩﻥ ﺳﺮﻋﺖ ﻳﻚ‬
‫ﺍﻳﺪﻩ ﺧﻮﺏ ﺍﺳﺖ ﻭﻟﻲ ﺑﺎﻳﺪ ﺑﺒﻴﻨﻴﻢ ﺩﺭ ﻗﺒﺎﻝ ﻛﺎﺭﻱ ﻛﻪ ﺍﻧﺠﺎﻡ ﻣﻴﺪﻫﻴﻢ ﭼﻘﺪﺭ ﺑﻬﺒﻮﺩ‬
‫ﺩﺭ ﻛﻞ ﺯﻣﺎﻥ ﺍﺟﺮﺍﻱ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﻭﺟﻮﺩ ﻣﻴﺂﻳﺪ‪ .‬ﺑﻪ ﻋﺒﺎﺭﺗﻲ ﺑﺎﻳﺪ ﺑﺒﻴﻨﻴﻢ ﺩﺳﺘﻮﺭﺍﺕ‬
‫‪floating point‬ﭼﻪ ﻣﻴﺰﺍﻥ ﺩﺭ ﺑﺮﻧﺎﻣﻪ ﻣﺎ ﻧﻘﺶ ﺩﺍﺭﻧﺪ‪ .‬ﻓﺮﺽ ﻛﻨﻴﺪ ﺑﺮﺍﻱ ﻳﻚ‬
‫ﺑﺮﻧﺎﻣﻪ ﻓﺮﺿﻲ ﻓﻘﻂ ‪ %10‬ﺯﻣﺎﻥ ﺍﺟﺮﺍﻱ ﺑﺮﻧﺎﻣﻪ ‪ T‬ﺷﺎﻣﻞ ﺩﺳﺘﻮﺭﺍﺕ ‪floating‬‬
‫‪ point‬ﺍﺳﺖ‪.‬ﺑﺮﺍﻱ ﺍﻳﻦ ﺑﺮﻧﺎﻣﻪ ﺗﺄﺛﻴﺮ ﺑﻬﺒﻮﺩ ﺳﺨﺖ ﺍﻓﺰﺍﺭ ﺭﺍ ﺑﺮﺭﺳﻲ ﻛﻨﻴﺪ‪.‬‬

‫‪Advanced Computer Architecture & Design‬‬


‫‪12‬‬
‫‪Science & Research Branch‬‬
‫ﭘﺎﺳﺦ ﻣﺜﺎﻝ ‪3‬‬
‫ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻗﺎﻧﻮﻥ ﺍﻣﺪﺍﻝ ﺩﺍﺭﻳﻢ‪:‬‬
‫‪T 0/10‬‬
‫=ﺯﻣﺎﻥ ﺍﺟﺮﺍﻱ ﺑﺮﻧﺎﻣﻪ ﺑﻌﺪ ﺍﺯ ﺑﻬﺒﻮﺩ‬ ‫‪+T0/90 =T0/95‬‬
‫‪2‬‬

‫ﻳﻌﻨﻲ ﺯﻣﺎﻥ ﺍﺟﺮﺍﻱ ﻛﻞ ﺑﺮﻧﺎﻣﻪ ﻓﻘﻂ ‪ 5‬ﺩﺭﺻﺪ ﺑﻬﺒﻮﺩ ﺧﻮﺍﻫﺪ ﺩﺍﺷﺖ‪ .‬ﺍﻳﻦ ﻣﻴﺰﺍﻥ‬
‫ﺑﻬﺒﻮﺩ ﺧﻴﻠﻲ ﺑﺎﻻ ﻧﻴﺴﺖ ﺑﻨﺎﺑﺮﺍﻳﻦ ﺑﺮ ﻃﺒﻖ ﻗﺎﻧﻮﻥ ﺍﻣﺪﺍﻝ ﺩﻭ ﺑﺮﺍﺑﺮ ﻛﺮﺩﻥ‬
‫ﺳﺮﻋﺖ ﺍﺟﺮﺍﻱ ﺩﺳﺘﻮﺭﺍﺕ ‪floating point‬ﺑﻪ ﺍﻣﻴﺪ ﺑﻬﺒﻮﺩ ﺯﻣﺎﻥ ﺍﺟﺮﺍﻱ‬
‫ﺑﺮﻧﺎﻣﻪ ﺩﺭ ﺍﻳﻦ ﻣﺜﺎﻝ ﺍﺭﺯﺵ ﻓﻨﻲ ﻧﺪﺍﺭﺩ‪.‬‬

‫‪Advanced Computer Architecture & Design‬‬


‫‪13‬‬
‫‪Science & Research Branch‬‬
‫ﺗﮑﺮﺍﺭ ﻣﺜﺎﻝ ‪1‬‬
‫• ﻓﺮﺽ ﻛﻨﻴﺪ ﻛﻪ ﺳﺮﻋﺖ ﺍﺟﺮﺍﻱ ﺑﺨﺸﻲ ﺍﺯ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ﺍﮔﺮ ﺑﻪ ﺻﻮﺭﺕ‬
‫ﻣﻮﺍﺯﻱ ﺑﺮ ﺭﻭﻱ ﭼﻬﺎﺭ ﭘﺮﺩﺍﺯﻧﺪﻩ ﺍﺟﺮﺍ ﺷﻮﺩ ﺗﺎ ‪ %70‬ﺍﻓﺰﺍﻳﺶ ﻣﻲ ﻳﺎﺑﺪ‪.‬‬
‫ﺍﮔﺮ ‪ α‬ﻛﺴﺮﻱ ﺍﺯ ﻣﺤﺎﺳﺒﺎﺕ ﺑﺎﺷﺪ ﻛﻪ ﺑﻪ ﺻﻮﺭﺕ ﺳﺮﻱ ﺍﺟﺮﺍ ﻣﻲ ﺷﻮﻧﺪ‪،‬‬
‫ﻛﺴﺮﻱ ﺍﺯ ﻣﺤﺎﺳﺒﺎﺕ ﺧﻮﺍﻫﺪ ﺑﻮﺩ ﻛﻪ ﻣﻲ ﺗﻮﺍﻧﺪ ﺑﻪ ﺻﻮﺭﺕ‬ ‫‪1−α‬‬ ‫ﺁﻧﮕﺎﻩ‬
‫ﻣﻮﺍﺯﻱ ﺍﺟﺮﺍ ﺷﻮﺩ‪ .‬ﺩﺭ ﺍﻳﻦ ﺻﻮﺭﺕ ﺣﺪﺍﻛﺜﺮ ﺍﻓﺰﺍﻳﺶ ﺳﺮﻋﺘﻲ ﻛﻪ ﺩﺭ‬
‫ﺍﺟﺮﺍﻱ ﺑﺮﻧﺎﻣﻪ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ‪P‬ﭘﺮﺩﺍﺯﻧﺪﻩ ﺭﺍ ﻣﻲ ﺗﻮﺍﻥ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻗﺎﻧﻮﻥ‬
‫ﺍﻣﺪﺍﻝ ‪ Amdahl's law‬ﺑﺪﺳﺖ ﺁﻭﺭﺩ ﭼﻴﺴﺖ؟‬
‫‪Advanced Computer Architecture & Design‬‬
‫‪14‬‬
‫‪Science & Research Branch‬‬
‫ﺣﻞ ﻣﺜﺎﻝ ‪1‬‬
‫ﻣﻄﺎﺑﻖ ﺑﺎ ﻗﺎﻧﻮﻥ ﺍﻣﺪﺍﻝ ﺩﺍﺭﻳﻢ‪:‬‬
‫‪1‬‬
‫‪1−α‬‬
‫‪α +‬‬
‫‪p‬‬

‫ﺑﺎ ﺟﺎﻳﮕﺰﻳﻨﯽ ﻣﻘﺎﺩﻳﺮ ﺩﺭ ﺍﻳﻦ ﻣﺜﺎﻝ ﻋﺪﺩ ﺯﻳﺮ ﺣﺎﺻﻞ ﻣﯽ ﺷﻮﺩ‪:‬‬


‫‪1‬‬
‫‪= 2.105‬‬
‫‪1 − 0.3‬‬
‫‪0.3 +‬‬
‫‪4‬‬

‫ﺍﮔﺮ ﻗﺪﺭﺕ ﻣﺤﺎﺳﺒﻪ ﺑﺎ ﺍﻓﺰﺍﻳﺶ ﺗﻌﺪﺍﺩ ﭘﺮﺩﺍﺯﻧﺪﻩﻫﺎ ﺑﻪ ‪ ،8‬ﺩﻭ ﺑﺮﺍﺑﺮ‬


‫ﺷﻮﺩ‪ ،‬ﻋﺪﺩ ﺣﺎﺻﻞ ﺑﺮﺍﺑﺮ ﺍﺳﺖ ﺑﺎ‪:‬‬
‫‪1‬‬
‫‪= 2.581‬‬
‫‪1 − 0.3‬‬
‫‪0.3 +‬‬
‫‪8‬‬
‫‪Advanced Computer Architecture & Design‬‬
‫‪15‬‬
‫‪Science & Research Branch‬‬
‫ﻗﺎﻧﻮﻥ ﺍﻣﺪﺍﻝ‬

‫ﺑﺮﻧﺎﻣﻪ ‪ %30‬ﺍﺯ ﺯﻣﺎﻧﺶ ﺭﺍ ﺑﻪ ﮐﺪﻫﺎﻳﯽ‬


‫ﺍﺧﺘﺼﺎﺹ ﻣﯽ ﺩﻫﺪ ﮐﻪ ﻧﻤﯽ ﺗﻮﺍﻧﻨﺪ ﺩﻭﺑﺎﺭﻩ‬
‫ﺑﺮﺍی ﺍﺟﺮﺍ ﺑﻪ ﺻﻮﺭﺕ ﻣﻮﺍﺯی ﮐﺪ ﺷﻮﻧﺪ‬

‫ﻣﻴﺰﺍﻥ ﺗﺴﺮﻳﻊ ﻣﺤﺎﺳﺒﻪ ﻣﯽ ﺷﻮﺩ ﺑﺮﺍی‬


‫‪N = 2, 3, 4, 5, and ∞.‬‬

‫‪CPUs‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫∞‬

‫ﻣﻴﺰﺍﻥ ﺗﺴﺮﻳﻊ‬

‫‪Advanced Computer Architecture & Design‬‬


‫‪16‬‬
‫‪Science & Research Branch‬‬
‫ﻗﺎﻧﻮﻥ ﺍﻣﺪﺍﻝ‬
‫ﺑﺮﻧﺎﻣﻪ ‪ %30‬ﺍﺯ ﺯﻣﺎﻧﺶ ﺭﺍ ﺑﻪ ﺻﻮﺭﺕ ﺳﺮﻳﺎﻝ‬
‫ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽ ﮐﻨﺪ‬
‫ﻣﻴﺰﺍﻥ ﺗﺴﺮﻳﻊ ﺭﺍ ﺑﺮﺍی‬
‫ﻣﺤﺎﺳﺒﻪ ﻣﯽ ﮐﻨﺪ‪N = 2, 3, 4, 5, ∞.‬‬
‫)∞(‪S‬‬

‫‪1‬‬
‫=‪S‬‬
‫‪30 %‬‬ ‫‪+‬‬ ‫)‪(70% / N‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪# CPUs‬‬

‫‪CPUs‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫∞‬

‫ﻣﻴﺰﺍﻥ ﺗﺴﺮﻳﻊ‬ ‫‪1.54‬‬ ‫‪1.85‬‬ ‫‪2.1‬‬ ‫‪2.3‬‬ ‫‪3.3‬‬


‫‪Advanced Computer Architecture & Design‬‬
‫‪17‬‬
‫‪Science & Research Branch‬‬
‫ﺩﺭ ﻧﺘﻴﺠﻪ‪:‬‬

‫ﺑﺎ ﺩﻭﺑﺮﺍﺑﺮ ﺷﺪﻥ ﻗﺪﺭﺕ ﭘﺮﺩﺍﺯﺵ‪ ،‬ﺳﺮﻋﺖ ﺍﺟﺮﺍ ﺗﻨﻬﺎ ﺑﻪ ﻣﻴﺰﺍﻥ ﻳﻚ‪-‬ﭘﻨﺠﻢ‬
‫ﺍﻓﺰﺍﻳﺶ ﻣﻲ ﻳﺎﺑﺪ‪.‬ﺍﻳﻦ ﺑﺪﻳﻦ ﻣﻌﻨﻲ ﺍﺳﺖ ﻛﻪ ﺍﻓﺰﻭﺩﻥ ﺳﺨﺖ ﺍﻓﺰﺍﺭ ﻟﺰﻭﻣﺎ‬
‫ﺷﻴﻮﻩ ﺑﻬﻴﻨﻪ ﺍﻱ ﻧﻴﺴﺖ‪ .‬ﺍﻟﺒﺘﻪ ﺍﮔﺮ ﻛﻞ ﺑﺮﻧﺎﻣﻪ ﻗﺎﺑﻞ ﻣﻮﺍﺯﻱ ﺳﺎﺯﻱ ﺑﻮﺩ‬
‫ﺍﻧﺘﻈﺎﺭ ﻣﻲ ﺭﻓﺖ ﻛﻪ ﺳﺮﻋﺖ ﻧﻴﺰ ﺩﻭ ﺑﺮﺍﺑﺮ ﮔﺮﺩﺩ‪.‬‬

‫‪Advanced Computer Architecture & Design‬‬


‫‪18‬‬
‫‪Science & Research Branch‬‬
‫ﺩﺭ ﻣﺒﺤﺚ ﺭﺍﻳﺎﻧﺶ ﮐﺎﺭﺁﻣﺪ ‪High-performance‬‬
‫‪computing‬‬
‫ﺩﻭ ﻣﻔﻬﻮﻡ ﺭﺍﻳﺞ ﺑﺮﺍﻱ ﻣﻘﻴﺎﺱ ﭘﺬﻳﺮﻱ ﻭﺟﻮﺩ ﺩﺍﺭﺩ‪:‬‬

‫ﺍﻭﻟﻲ ﻣﻘﻴﺎﺱ ﭘﺬﻳﺮﻱ ﻗﻮﻱ ﺍﺳﺖ ﻛﻪ ﺑﻪ ﭼﮕﻮﻧﮕﻲ ﺗﻐﻴﻴﺮﺍﺕ ﺩﺭ ﺯﻣﺎﻥ ﺣﻞ‬


‫ﻣﺴﺌﻠﻪ ﻧﺴﺒﺖ ﺑﻪ ﺗﻐﻴﻴﺮﺍﺕ ﺩﺭ ﺗﻌﺪﺍﺩ ﭘﺮﺩﺍﺯﻧﺪﻩﻫﺎ ﻭﻗﺘﻲ ﻛﻪ ﺣﺠﻢ ﻛﻞ‬
‫ﻣﺴﺌﻠﻪ ﺛﺎﺑﺖ ﺍﺳﺖ‪ ،‬ﻣﻲ ﭘﺮﺩﺍﺯﺩ‪.‬‬
‫ﺩﻭﻣﻴﻦ ﻣﻔﻬﻮﻡ ﻣﻘﻴﺎﺱ ﭘﺬﻳﺮﻱ ﺿﻌﻴﻒ ﺍﺳﺖ ﻛﻪ ﺑﻪ ﺑﺮﺭﺳﻲ ﭼﮕﻮﻧﮕﻲ‬
‫ﺗﻐﻴﻴﺮﺍﺕ ﺩﺭ ﺯﻣﺎﻥ ﺣﻞ ﻣﺴﺌﻠﻪ ﻧﺴﺒﺖ ﺗﻐﻴﻴﺮﺍﺕ ﺗﻌﺪﺍﺩ ﭘﺮﺩﺍﺯﻧﺪﻩﻫﺎ ﻭﻗﺘﻲ‬
‫ﻛﻪ ﺣﺠﻢ ﻣﺴﺌﻠﻪ ﺑﺮﺍﻱ ﻫﺮ ﭘﺮﺩﺍﺯﻧﺪﻩ ﺛﺎﺑﺖ ﺍﺳﺖ‪ ،‬ﻣﻲ ﭘﺮﺩﺍﺯﺩ‪.‬‬
‫‪19‬‬ ‫‪Advanced Computer Architecture & Design‬‬
‫‪Science & Research Branch‬‬

You might also like