AR2007_3.pdf

(3650 KB) Pobierz
Architektura i Administracja Systemów Operacyjnych
Ostatni wykład
Jacek Dziedzic
FTiMS, Politechnika Gdańska
Gdańsk, 2008.
Algorytmy równoległe 2007/2008
2649232.146.png
Single-core, single-processor
stan CPU
jednostka
obsługi przerwań
jednostka
wykonawcza
cache
W danej chwili wykonuje jeden wątek.
Przełączanie wątków dość kosztowne (wymaga zmiany
stanu CPU: kompletu rejestrówogólnego przeznaczenia).
jaca@kdm.task.gda.pl
2007 Jacek Dziedzic, FTiMS, PG
2
2649232.157.png 2649232.168.png 2649232.179.png 2649232.001.png 2649232.012.png 2649232.023.png 2649232.034.png 2649232.045.png 2649232.056.png 2649232.067.png 2649232.078.png 2649232.089.png 2649232.100.png 2649232.106.png 2649232.107.png 2649232.108.png 2649232.109.png 2649232.110.png 2649232.111.png 2649232.112.png 2649232.113.png 2649232.114.png 2649232.115.png 2649232.116.png 2649232.117.png 2649232.118.png 2649232.119.png 2649232.120.png 2649232.121.png
Single-core, multiprocessor
stan CPU
jednostka
obsługi przerwań
stan CPU
jednostka
obsługi przerwań
jednostka
wykonawcza
cache
jednostka
wykonawcza
cache
Duplikujemy całe procesory.
Zaleta: każdy procesor możewykonywać oddzielny wątek
albo nawet oddzielny proces.
Problem: cena. Nie dość,żepłacimy za wiele procesorów,
to jeszcze za hardware, który to wszystko połączy.
jaca@kdm.task.gda.pl
2007 Jacek Dziedzic, FTiMS, PG
3
2649232.122.png 2649232.123.png 2649232.124.png 2649232.125.png 2649232.126.png 2649232.127.png 2649232.128.png 2649232.129.png 2649232.130.png 2649232.131.png 2649232.132.png 2649232.133.png 2649232.134.png 2649232.135.png 2649232.136.png 2649232.137.png 2649232.138.png 2649232.139.png 2649232.140.png 2649232.141.png 2649232.142.png 2649232.143.png 2649232.144.png 2649232.145.png 2649232.147.png 2649232.148.png 2649232.149.png 2649232.150.png 2649232.151.png 2649232.152.png 2649232.153.png 2649232.154.png 2649232.155.png 2649232.156.png 2649232.158.png 2649232.159.png 2649232.160.png 2649232.161.png 2649232.162.png 2649232.163.png 2649232.164.png 2649232.165.png 2649232.166.png 2649232.167.png
Simultaneous multi-threading (SMT):
technologia Hyper-Threading
stan CPU
jednostka
obsługi przerwań
stan CPU
jednostka
obsługi przerwań
jednostka
wykonawcza
cache
Z punktu widzenia SO, udaje dwa procesory "logiczne", co umożliwia
przydzielanie więcejniż jednego wątku, jak w systemie wieloprocesorowym.
Faktycznie zasoby potrzebne do wykonania instrukcji są współdzielone (jedna
jednostka wykonawcza), więc wątki są wewnętrznie przeplatane. Dzieje się to
wydajnie, bo stan CPU i jednostka obsługiprzerwańsą zduplikowane.
W razie utknięcia ( stall ) jednego wątku np. z powodu chybienia cache ( cache miss )
albo źle przewidzianego skoku ( branch misprediction ), można szybko oddać zasoby
drugiemu wątkowi.
jaca@kdm.task.gda.pl
2007 Jacek Dziedzic, FTiMS, PG
4
2649232.169.png 2649232.170.png 2649232.171.png 2649232.172.png 2649232.173.png 2649232.174.png 2649232.175.png 2649232.176.png 2649232.177.png 2649232.178.png 2649232.180.png 2649232.181.png 2649232.182.png 2649232.183.png 2649232.184.png 2649232.185.png 2649232.186.png 2649232.187.png 2649232.188.png 2649232.189.png 2649232.002.png 2649232.003.png 2649232.004.png 2649232.005.png 2649232.006.png 2649232.007.png 2649232.008.png 2649232.009.png 2649232.010.png 2649232.011.png 2649232.013.png 2649232.014.png 2649232.015.png 2649232.016.png 2649232.017.png 2649232.018.png 2649232.019.png 2649232.020.png 2649232.021.png 2649232.022.png 2649232.024.png 2649232.025.png 2649232.026.png 2649232.027.png 2649232.028.png 2649232.029.png 2649232.030.png 2649232.031.png 2649232.032.png 2649232.033.png 2649232.035.png 2649232.036.png 2649232.037.png 2649232.038.png 2649232.039.png 2649232.040.png 2649232.041.png 2649232.042.png 2649232.043.png 2649232.044.png 2649232.046.png 2649232.047.png 2649232.048.png 2649232.049.png 2649232.050.png 2649232.051.png 2649232.052.png 2649232.053.png 2649232.054.png 2649232.055.png 2649232.057.png 2649232.058.png 2649232.059.png 2649232.060.png 2649232.061.png 2649232.062.png 2649232.063.png 2649232.064.png 2649232.065.png 2649232.066.png 2649232.068.png 2649232.069.png 2649232.070.png 2649232.071.png
Multi-core processor,
chip multiprocessing (CMP)
stan CPU
jednostka
obsługi przerwań
stan CPU
jednostka
obsługi przerwań
jednostka
wykonawcza
cache
jednostka
wykonawcza
cache
Praktycznie dwa oddzielne procesory na jednej matrycy.
Tu pokazane z oddzielnymi pamięciami cache.
Oczywiściekażdymożezajmowaćsię swoim wątkiem.
jaca@kdm.task.gda.pl
2007 Jacek Dziedzic, FTiMS, PG
5
2649232.072.png 2649232.073.png 2649232.074.png 2649232.075.png 2649232.076.png 2649232.077.png 2649232.079.png 2649232.080.png 2649232.081.png 2649232.082.png 2649232.083.png 2649232.084.png 2649232.085.png 2649232.086.png 2649232.087.png 2649232.088.png 2649232.090.png 2649232.091.png 2649232.092.png 2649232.093.png 2649232.094.png 2649232.095.png 2649232.096.png 2649232.097.png 2649232.098.png 2649232.099.png 2649232.101.png 2649232.102.png 2649232.103.png 2649232.104.png 2649232.105.png
Zgłoś jeśli naruszono regulamin