Outline � �������� � ������������������������������� � ����������� � �������������������������� 2110412 Parallel Comp Arch Parallel Programming Paradigm Natawut Nupairoj, Ph.D. Department of Computer Engineering, Chulalongkorn University ��� !������������"�������� ����������������������� What are the factors for parallel Generic Parallel Architecture programming paradigm? � #$����������������� � ������������% ��������&������������� � ��������������������� � � � � � ��������� M M M M � #���'�����(�����������)�*����+ #���'�����(�����������)�*����+ � ������ .���������������������/ �����$ � ,�����������������$���$������$���������- ��� !������������"�������� ����������������������� ��� !������������"�������� �����������������������
Flynn’s Taxonomy SISD � 0��$���&������������������ ���� � �������������������������������������������' &���� �����$�������������� � 1��������������������������������� � ���2����&��������������������� I, D � ���2����&��������������� P M � ���� (#������.������������#����������+� � ���� (#������.�������������������������+� ���� (#������.�������������������������+� � �����������3��������������� � ���� (#������.������������#����������+� � 45����� � ���� (���������.�������������������������+� � �"� SIMD MISD � ���������������&������������������.#�� � ������������������������������������������������������ (����������������+� � #������$��$�����������$���������������������������� D P M I D P M Ctrl D D P P M M D D D D D P P P P M � 45������ I I I � 1�")"�' � �����������' � ���������6�7
MIMD Parallelism � ��������������������� � 1�����������������������$���������������������������� �5��������������� ����������������9������������� I, D �����������)������������ P M � 1���������:��$�����&������������ � ��$������������������ � ���������������� N ���������������������� I, D � ;��������������������� E E P P M M ������ ������ T � ���������� W � 45������ � "���2��������2����������������������������� O I, D � .8��#� ��#6.���������*�� P M R "����5��"��$� ��� K � "������ I, D � �����'"����"�7 P M Data Dependence Graph Parallelism Structure � ���������������������������������� ���������$��&�����������������&� � �5������� � � � � 4���������5���������/ 4���������5���������/ � 4����&���������8 � � � � � � � � � 1��/��������2������������2�&�������/�8 � 1��/�8��������������������/�� � � � � 1��/�����������������������&�������� ������������2�����&���������������$ ���������� ���������������� ����������������������
Example Example: Dependency Graph � ,��/�$�<�������������������� � ��������������������������������������/������/���� �������� �������� � "����������/������/��������������������:����/���������� � �����������&&��������$��$�����&���� ��� ���� ��� ��� � ������������2��/����2�&����������� ���� ���� ������ ������ �!��"������"���� ������� �������� � ,��������$�������������������&�=�������- Functional Parallelism Data Parallelism �������� �������� � ����$���&&����������������� � ����$�������������������� �������� �����&&������(�������+������ �����&&������������������� �������� 4���$������������� �������� � "���2����������������$� � 0��$����������&�������&��� 0��$����������&�������&��� ��� ���� ��� ��� ��������������������� ��������������������� 4���$�������������� 4���$�������������� ���� ���� ���� ���� ������ ������ ������ ��������2��� � "����������������>>> � *����������������=� 4���$���������������� �!��"������"���� ������- �!��"������"���� ������� �������� ������� ��������
Sample Algorithm Pipelining � .������������5������������� for i := 0 to 99 do a[i] := b[i] + c[i] � ���������������/����������������������?������@ endfor � 4�����������5�������������������$����������������$ � ��������������������/����(���������+ for i := 1 to 99 do a[i] := a[i-1] + c[i] � ����������������������>>> � ����������������������>>> endfor endfor (&�������������������3��������������+ for i := 1 to 99 do for j := 0 to 99 do a[i,j] := a[i-1,j] + c[i,j] endfor endfor
Recommend
More recommend