a brief introduction to parallel computing

56

Upload: phamanh

Post on 03-Jan-2017

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Brief Introduction to Parallel Computing

� ����� ����� �� �������� �������∗

������ �������† ��� ���� ���������‡

������ �� ����

��������

�� ���� ����� � ������ � � �� �� �� ����������� �� ������

�������� �� ������ �� �� ������ ��� ����� ��� �� �������� ����

�� ����� ����� �� �������� ��� �� �� �� ���� �������� ���

������ ��������� ���� ����� �� ��� � ����� � � �� �� ��

��� ��� � ������� ���������� ��� �� ����� �������� �� ��������

�������

��������

� ���������� �

� � � �������� ������� � �

� �� ������� �

��� ����� � � ����� � � � � � � � � � � � � � � � � � � � � � � � ���� ���� ��������� � � � � � � � � � � � � � � � � � � � � � � � � ���� ������� ������ � � � � � � � � � � � � � � � � � � � � � � � � ���� ���� �� � �� � � � � � � � � � � � � � � � � � � � � � � � � � ���! ���� �� � �� � � � � � � � � � � � � � � � � � � � � � � � � � "

��!�� ����� ���� �� � �� � � � � � � � � � � � � � � � � #��!�� ��� ��$� � ���� �� � �� � � � � � � � � � � � � � �%

��� &���� � �� ��'�(�� � � � � � � � � � � � � � � � � � � � � � �%��� )��� �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �%��" �� *��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

∗��� ���� ����� �� ��� ��� �������� ����� � � � �����������†������� ������� ��������� ������ ���� ����������� ����� �� ��� !� ��"�

�#���$ �����%��&������&�'�‡�������� �� ������� �������� (��� �����#����'�)�� ����������� *� ���� +���'�

�#���$ �,��%������&����&�� ���&�

Page 2: A Brief Introduction to Parallel Computing

� ������ �� ������������� ��

��� ����� � � ���(� ����� � � � � � � � � � � � � � � � � � � � � ����� ����� ���� ��������� � � � � � � � � � � � � � � � � � � � ����� ��� ��$� � ���� ��������� � � � � � � � � � � � � � � � � � ����� *��� �������+� �� � � � � � � � � � � � � � � � � � � � � � � � � �!

� � ������� ������ ��� ���������� ������� �

!�� ,���� ��- ������� � � � � � � � � � � � � � � � � � � � � � � ��!�� .�/���� ��� 0��� �� ��� �� '� � ������( � � � � � ��!�� &������� ��- � � � � � � � � � � � � � � � � � � � � � � � � � � � �"

!��������� �������� �������� ��

��� 1 ���+��( �� ���� � � � � � � � � � � � � � � � � � � � � � � � ����� 2��(��( $��� �������+� �� � � � � � � � � � � � � � � � � � ����� ����� ���� ������ ��(�� ��� ��� 1 ��3 � � � � � � � ����� ��� ��$� � ���� �������+� �� � � � � � � � � � � � � � � � �#

����� 34� ��� �3� � � � � � � � � � � � � � � � � � � � � � � �%��! �����5��� ��$� � ���� �'����� � � � � � � � � � � � � ����� 3�������+� �� � ��� ��( ��� � � � � � � � � � � � � � � � � � ����� 2�$����5$��� �������+� �� � � � � � � � � � � � � � � � � � � � ��

����� ,2&� ��� 2&3&)6 � � � � � � � � � � � � � � � � � � � ������� ,2&)�7 3,2&� ��� ���2&3&)6 � � � � � � � � � � � ��

" #������� $����%� ��

� ������� ��

1'� � �� -� � ����7 ������ �� � ��( ��� ��(� ��� � �5���'� � ������ ��� � � ��� ��� �� ��( �( ����(� 8��� ��� � �� � ����� ���� 9��� ��� �5 ����� ������� -� �� � ���'� � ��5��(�7 ��� �� ����� �� � �� ����' �$��� -� � ��� � � ����5��( ��� � :��� ���� �����;)3<7 '�� �����7 ���� �����7 ��=7-� � �� � � ���� -� ��� ���� ��$� �� ����� ���(� ��� �� � � � � ���7 ��(�5 ������� -�/� � ��� � >�� � �- ���� �(��� �� � �� ��7 � ������� �'����$��� � � ��� ���' �� �� � ������ ?��/ @ ��� �� -� � - ��� ��� ������ �'����$� �� � ������(��( ��� A!7%%% A�!7%%%7 -��� � ������ �� � �(� ��� ��� � ����� ��� �� ��� $� ����� ��� $� � ��� ����� �-� ����

Page 3: A Brief Introduction to Parallel Computing

�� ��� ��� �7 � ����� '�'�- � � ������� ��� � ������ ��5 � ��( �� ��� �� � �� �� ��� �� ����� -� �� �������� -� � �(���� �� � � � �� � ��( $� �� �- ��(� ������� ��� �������� � ��( ��� �'��� � (���� '�'�- � � 8�� ��� � $��/(���� �� � ����� ������� �� ���-��( ��� ��� � ������ � �� ��(� ����������;� ������ �� � ��( ��� -��� �/� ���� �� � ��$�B�� ��5 �����

� ��� ������� ������ �� �

9�� ������ �� � ��(C �� ���-� �� ��� �D $���� �� ��� � � �� ��' ���( �$��� E � /���� �� � � ����7 ���( ���7 �� �� ���� �� � � � �� ���� � ��� ���( �� � � ��

9��� � �(��( � ����$��� � � ���� 2�- ����� ���� ��� ������� �� :���(�= ����� ? -�7@ � ��+ � � �$��� �� �5������� �� �� �� � �� ��'��( �� ��������( '� ��� �� 3������ ��5 � ��( $��� � '��$� $���( ����� ��� (� -�� � �� ���$� ��������� � � ������ �� � � ���(� ��-��� -��7 ���-��( ��5� ������ � �/��'�� �( � �'����$� �� � � ���� -�� ���� �� � �� �� �� � ������ ��'�'� �� ��'��� :�� ��� -� � ���7 '���� ��/ � ��� � -��� � $ ���=7 $� ���� �� � ������ � �� � ��( ����� �'�� ��� �� �� $� ��$����( ��� ������ � �� ���$� �� ���� �� �� � � ���( �(��� $� ����7 ��� �� �� ��/�� -� � � F� �1� �� �� ��� �� � ��� �� � '���� (�- � � � -����� �� -�5��� �� � ��7 -���� ���- � � �� �����$� $� ���� 2�- :��$���(� ����� �� '�� �" �� ��= G�!H� &������(��7 � ��+ � �$��� �� ��� $ ����$�� ��'� ��� ����� ��$�� '�� �" �� ��� .-'�7 $�$� I��� �� ��' �$��� � ������� -� � ������� ��� �������� ������7 /�-��( ��� $ �������� � ��� � ���� $��� ����� � � � ��� � �'����$� ����� � ����

2��( �$��� ��� ���� ���� � ���� �8� ���'�� �� � � ��� ����� �� � �� �� ���(5���� ������ �� � ��(� �� ��� �� ������: ��� ��� �� �� ����� � ����� �'7 $� �� �� �� ��� � �� ������ � $��� � � � �� �� ������ �� � ��(=D

• J�� � �'����� ���� ��7

• ������ -� �� � ��( : � &�)� �(���=7

• B��� �� ����� ��7

Page 4: A Brief Introduction to Parallel Computing

• �� � � ���� $��(�7

• �� � �����( �� ���( ��� '�� ���( �� �� �7

• �� ���� ��� ����(�7

• ��� (�� ��7

• � ����� ��(�� ��� �� NP5�� � �$����

�� 8�� - �$��� � � ��� �� � ��� �� � � - ���(� �� ��� � �� �� � -���7 -���� ����' �!�"� ��� ���� ��� � :10 ×1012 K� ��( �� �� ��� � ����=7 �� � �'��� <��� ��� ��7 ��� ������� � ��� �� � ���� � �'� ������� ���� ���� � ��(�������� �8� (��� � �� � $� � ��������� �� ��� ���7 � � ��� �������� ��� ���� � � � �� � � ��� �� � &�)� �(��� �� � ���� � 1015 K� ��( �� �� ��� � ����� 1$'�����7 '� -� � � � �� ��� (�- � � �� � � ���� -� ����� $� ���� 2�-7� ���(� ����� -��� � $ �$� ����' ��� �'� � ������� ��� �� �� :�� '�=L ���� ��$����( ��� � � �� � � ���� ��� � �� ���� ���$� ��� ���

�� �������7 ������ �� � ��( ��� � ��� ��� �� � ���( ��� �5 ����� ��� �� ��� �� � ����� $���� � � �� ��'���( �� � � ������ �� ���' �$���� 9��� � �� ��� �'�� ��� ��5$�� � �- :�5��= ������ -�/ � � �$�� � � ����� ���� :� �� ����� ���� ���� ��� ��� � ��� ��B��� � ���(� ����� �� -���$ �� -���� � � � -�=7 ��� � ������( �� � ���� &�� ���� �������� ������� � � ���( �����

� ��� �������

�� ��� �� ��7 �� �� � �� ����� �� �� � � ����� � ��� �� $��K������$� :� �� � ���� �� �� � ����-�� ����� ��� $ ���� ��)�� � ��=� �� � �� �� � ��� $/7 ������ �� � ��( �� � ��5����� � (�� �� � � -� ��(� $� �� �� � ���� � ��'��( ���( �� �5 � ������ �� ���' �$���� ���� $��( � ���7 ������� ��� $ ������� � ��� ?�'��@ � � ��� � ����� ��� �7 ����� �� � �'���� I����� �� ����� � �� ��( ��� � ����� � ���7 � ���-��(����� �� $ ������� �� ��� ������ �- � � ������� ��� $������+�D :�= -�� �� �� ���( ����� � � �����7 :�= �- ��� �� �$ I��� �� �� ��� ��� �������

Page 5: A Brief Introduction to Parallel Computing

��� ����� � � �����

1� � � �� � �� �� ��� �� ���' � ������� � ���� �5����� �� ����������7 -�� ��(��� ��� $ ���� $��/ � )�) ��%%�� � �7 �� -���� � -�� �� � 8�� �� ����������� � ��� �� � ��5������ ������ 3� �����( �� $��� � � '�� ��� � $��'� ��D �� ���������� '� M����� ����� � ��7 ������ �� � ����� �' ��5 ��� �� � � ��5��� ����7 �(� ��� ��� ��� �� �� � ���7 ����7 �������� �� � �� � ���7 � ��� ��� �� �� ��� �7 � ���� � �� � ����� ��� �� �� � ������( � � �� ��� ��� �� ��� �� �� ���� ���� �� � ���(� ��� ��� �� �� ��� � �� 8' � � ���7 �� � � � �� 5� 5���7 ��� ��� ��� �� �� �� � � '�� ���� :� ��(�� �=� &������( �� �� �� � ���� � ����� $ -� ����� �' ��� ��� ���7 -���� ��� ��� �� �� $��( ����7 �� �� ��� $ � ���� �7 -�� ��� � �� � 8�� ��� ��� �� �� � ��� : ���� � =7 � �� �� ��� ��� ���� �� ������ �� ��� -��7 �� � � � �� 5� ��� � ! �����7 � � ���8��� �� :! ��� ��� ��� �� �� '����� � �(� � ��� ��= ��� �� ��� ��� ���� ?�� � �@ '�� � :��� �� � '�� ! � �=� �� � ��� -�� �� ��� ���� � ����� $ -� ����� �' �� ���7 � �� ��� ��� � �������( � ��� ��� ��� �� ���� � -�� �� / �� �� ��� � �5�� � �� ��� ���� ��� ��� ���� ��� �'� � ����� �� � � � ���� �������7 -�� $����� ��� ��� ��� �� ���� ��7 �� ���� �(��� �� ��� :��� �� ��� � � ���( $�� � ������ �$� �- ��/� ���� $����� ���� ��= ��� ? � �� ��/��@ � � �'����$� $�������� ��� �� �� ���� ����� � ���7 � ������ �� � $����� ���� �� ���$' #%N�

���� (���� ��� � � �����( ��� $� ��� �� � ��� �� � ���-5��( ���� ���� ���� 7 � -�� $��'� �� ���� �8� �� � � ��� '�� � ���'�' '� �� ��� �� ����� &������(��7 � ���� � ���� ��' $� �5'� � �� K� ��( �� '� � �� ��� :� ��(�� �=� �� ���� ��7 ���� � ���� �� � � '� � $� � ��� �� �� � � ���-� $� '� � ����5 ��D �� ��� � � � αx + y :-�� x ��� y �� '� ��=� �� �������� � �� ���7 � �� ���$� ��� �� �� �' ����� �������$� �����( � ���� � ��� � ��� � ���� �� � ��� ���� �� �� � ����5 �� � ���7 -� �� � ���( � �� ����� ���� �� ���� ���� �� ������������� ����7 �� ��� � �� (�� ��F� ��� �� ��� � K� ��( �� ���$�� �� � ���� � � � �B���� �� ��� �� � ��� ����� ���7 -�� - �� (�� �� ����7 ���� $ � � �� �� $>� � $5��(��( � ��� ���( ��� � ��� � �� - � ���(� � �� $� �7 � ��� �� �� $ ����� �� �� ��� ���� ��� �� � ��� � K� ��( ��

!

Page 6: A Brief Introduction to Parallel Computing

�����

��� � � � � �

���������� � ���������� ���������� ���������� ���������� ���������� ����������

� ������������� ���������� ���������� ���������� ���������� ����������

��������������������� ���� ���� ���� ���� ���� ���� ���� ����

������!������� ���� ���� ���� ���� ���� ����

���������� ���� ���� ���� ����

��(�� �D 3�� ��� � ��� � �� � � ���� K� ��(5 �� ��� � ���� �� ���� � � � '� �

���� ��7 � - ��' $ ������ $��( ��F�� ���(� � �'���5�$� ���$�� ��� ��' $ ���(�� $ ����� ���� ��'�'� �� ���� $ � ��� ��� ����� ��� � �� �� &� � � �� �� �� �� � �7 � ���� ��� $ ?������@ � ����� 8��� � ��� � ��7 -���� ��5'�'� ��� �� �� ��� � � ��� ���� ��� � � �� � � ���� :���(�� �=� ���� ��F��� �� � � ���$��� � � �'� ��( ������-� � � ��� � ���� �� �� (� ��� K� ��( �� �� ���� �������7���� � �� � � ���$� ��(���+ � ��� ��� �� � ��� ��I��� ��� ��� � ��� �� ��� ��� ���� ���� �� ��� � ��( '� ����� $ ��'��� �� ��� ��� �� ��� � ��$5'� �� :�(� '� � ��5�� ��7 '� � ������( ��=7 � �� ��� ���$� �� ���� ��� � � �� (���� K� ��( �� � ����� )���� ��7 ��� ���� ������ E ��������( ���� � ��� �� � ��� &�� E �� $��� ��� -���

9��� � ������ �� ��� �� �� ��������( ��� � �7 �� �� �5 �� �$�� �����D �- �'�� �� -� � �� � ��I��� �� ��� � ������ ��$��� � �� � ������ � �� ��- ��'�� � ����� � � �� ��� � �� � � ���� ��'�� �� �� ��� ��(� �� � ���' $ ��������� ����$�7 -���� ���� � �� � $ ���/ �� � ������(�� �$��� �� � � �� � �� � $��� �� ���$� �� � '�5��� � ������ -� � �� � � �� � � ��� �� ��� �� � & � � ������+ �F� � � ��� $ ���/ ��' �� � �'� �� � ����������� �����

��� ���� ���������

��� �� - -��� � ��������( � ���� � ��� � � ���� ��$��� ��1� -�� �� ������ ��� � ������� � � ���� ��� ��� ���

Page 7: A Brief Introduction to Parallel Computing

� ��� � ��$��� � �'����$� � � ��� � ��� �� ������ � � � �7 ����� ��� $ ��'��� �� � ��� �� ������$� ��� ������$� ����?$��/��@ *�'� ��� � � 7 �� � �� � �� ���� � ��� ������ �� �� ����-��7 ��� ����� �' ��� �� � ��'� ��� � � ��� ���� $��/ ��� ��� ���� $��/ �� ���� $�� � �� ����� �� �B�� �� <��� ��� ��7�� ����� �' ��� � �� � ��'� ��� � ��� ���� $��/7 � ����$��/ ��K�� ����� : � �� ��� ���� $ � ��'� �� �� � ����$��/ �� ������=� ���� ��� ���� �� � ���� �� � ������� '� $�� ��� � � �'� G�"7 "%7 �#7 ��H� ���� � ���� � ���� $ ���/ �$�� -�� � � � � � )��� O����� ��� ��� ����� � ��� �(� )��� P5�37 -���� -��� ������ ��+� $� '�� ��(� ���� ���(� � 7 -�� ���K��� ���$� �� � ���� � � ��� � A �% ������ :�� �##%7 -� � ��������� ������ = �� � �� � ��� ��

J� ���� ��� ������5� � ���� ���� $ �F��� �� B��� � ��� $� � �- -� ����7 �(� '�� ���( �� ����7 � ('���� 7 � ����� ��� ��� ��� ������ ��$�� ���7 �� ���� � �� �� �� �� ���5 �' � ���� E ���� ����� .�7 � ��� �'�� �����7 ��(�5(��� ��� ��� ���� ��$��� � �� ���� � $ -� � ����� ��� � ���� ����7-���� �� � � �-� (��� $� � � ������ ���(�� )��� ���� � ��$ � � ��� ��� ��� �� �� $ � ���+� $� � ����� ��� � �� �7-���� �� ���� � $ ��� �� � ���� ���� ���� �� ��� � ��� ����� ����7 � ��� ������ � �� � ���(� � :�������( �� � �� ���� � ���� �� � �� �� $ ��� �� ��$�B�� � �=� ���� ��� �� � ������ ��' � ��� - �'�� � ���� ���� ��� � (���� ��� �� ������ ��+� ���� ��� �� ��D � ��� �� ?�-��@ ��� � �����7 ����(� ��� ��-� � �'����$� ���� ��� � ��(� � �/� �� � �� � ���� � ������ ��� �� �-����� ��� � ����7 � ��������� ��� �'� � ���� ��� � ��F�� � � �� '�� �'� � ���� �� ���� �7 ��F�� �� � �� ���� �� �� ������ � � ���+ � ��������������� ��� � � � ����� � � 7 ��(�� ��� ��' $ ��� � -���� ������ � ���� 7 (�� � � �� � ��� � �� �� $ -�/� � 5( �� ����� $ �'� � � ���� �������� :���� � �����= ( ��� ����7 ��� ������� �� ��� � �� �� � ��� � ����� $ ����� -��� �� �� � �� �� � ���� ���� � ����� ��� � ��(�� �� ����� � � ��� �� ��� � �� ��$�B�� � �� ����� �7 �� � �� � � �������� ����� ��($��7 ��� �� ����'� ���(� � � ���� �� � $��/5��� � ��(�� ��� $��� � � �'� � ,2&� /�5��� :� �� �� ����� �� �� � ����= ��� ������ ��� �� � $��/��+�:� ���+��(7 �� ��� ���7 �� �'� � $� � &�2&� �>� G##H=�

Page 8: A Brief Introduction to Parallel Computing

��� ������� ������

M- �� �� � � ����B�� ��� ���+ � ������� � ���(� ����� ��� �� ��' $� ��� �7 � �/ � ���$� ��8(��� ��� ����� � � ������ �� �� ��� :�� �� � ���� �� �� � �� ���7� )�� � ��=� �� �� $� � ��� ����� (���� �� � � ����� �� �5���� $� ����� �� �#�� G!%H �'��� � (� � �� ��( �� � ,� ��������( � ��� �� ������ �� ������(7 -���� �/� ��� ����� � � �� � �7��� $ ��� ����+� �� ��� � �� ��� ��� $ -� �� � � ���� ������ ��� ��� � ����7 ����� -�� �$� �������� �� � � ����� � ��� �� ��� � �D

• ���� E ���(� ��� ��� �� � ���;���(� �� � � ���7 -���� ��������� � � '� M����� � �� � ��7

• ���� E ��� � � ��� ��� �� � ����;���(� �� � � ���7 -���� �5����$� '����� � ���� �� � �� $� � �� ������ ����� � �������7

• ���� E ���(� ��� ��� �� � ���;��� � � �� � � ����7 � ����� �5 �� � ������ ����� ?������7@ ���

• ���� E ��� � � ��� ��� �� � ����;��� � � �� � � ����7 -����������� �� ���� ������ �� � ���

�� ��� - � � � �������7 ���� ��� ����7 �� � � �� � ��� �� �� ��� $/ ���� �� � � ����� �� ��� ������ ��� �� ������ � � � - �� (����

��� ���� �� ����

����5$��� �� � �� �� ������ ��+� $� � ��� �'�� ���( ���$� ���� �'�� -�/ ������7 ��� ������ � -� � � ��� �'�� ����� �������� ������ �� ��$��� �� � �� ���5��/ �(�7 ��� � �5��� ��� � ��� �� (��D @ ����� ������@� ���� �� � � ���� �� ��� ������ � � �� ���� ��� :������� � � � ��� -�/� � ��=7 -�� �(��� �� ��� �� ��� ����� ������( ����(�� �/� ��� :� ��(5�� �=� �� �(��� ��� ��7 ��� ����� ����� �� ��� � � �5�� �� � � ����L ��� � � ������ ��� ���� � ��� �� ��7 ��� � �� ��� �/� � (�'� �� �� � � �B��� � �� ���� �� � �� 7 � ������ '���� ������( ���� ������� -� �)27 ���3�� �������/��( �������� )���� ��7 ��� ����� � ������� �� � ��(� ������� � ����� ��� � ������ �� � ��(� 1� � � ���� ��'�� �(� �

"

Page 9: A Brief Introduction to Parallel Computing

���� �� � �� -�� � ��� �� � ������ -�/ �����������7 -������$�� ��� �'�� ��� �(��� �����( ��� �$�((��(� <��� ��� ��7 �����'�� �( ��� � � ���� �� � ���� � -� � �� ��� ���� �� � ��7���� ����+� �� � �� ��� �'�� ��I��� �� �� �� ��� ��� ��� �$5��� ���7 �� (����7 ��� �$��� �� �B��� � ��(� �'� � K��$��� � ��� � ���� ��� �� ��� �� � ������ $ -� ������( ��� �� )���� ��7�� � �� ������� ��' ���� ��� ��� � ���/ 7 �� ��(� �� ����������7 -� ����� �� ���� ������� �� �$� ��/ � ��$��/G"�H�

��

��

��

������

���

���

���

��

�������

������

������

�������

������ ��������

��(�� �D ���� ��� � �����

��� ���� �� ����

�� ����� � ����5$��� ������ �� � �� ��� $ ��'��� �� - ��$5�� (���D ����� ���� ��� ��� ��$� � ���� ��� ��� ���� ��'������ $��� � � -�� �� � ���� ��� � ������ �� ���� � :���(�� �=�

�'�'� ( ���� ������ ��������

)� � �� � ��� � ����� � � ���$� � ������ �� �� ���� � � ���� :(�$��= ����� �� ���� ���� �� �� ������ � � $� ���

#

Page 10: A Brief Introduction to Parallel Computing

� � � � � � � � �

���������������������

��� � ��� � ��� �

������������

� � � � � � � � �

���������������������

� � � �� �

��(�� �D ����� ��� ��� ��$� � ���� ��� � ������

$�� ����(� � � '��� � � �-� �� � � :�(� �(�7 $� �K�7 ��=��� ������� -� ��� ����� �'� � -� � ��� ������ ����5��� �5����� $� -� �� � B�� � -� � ���� ����7 -���� ���� � �� ���5 �'�� �� ���� � �� � ����(�� ; ���� ������ ������ ���� ��5 ���� ��' ����� ����� ���� �� � �� '� � ����7 ��������(D,,M7 &����� 7 �B�� 7 )�'�7 )��� ��� �*�� 9��� �� ��� �� -���� �'�� ��� �(��� :-� � � �������+� �� $��( � ��� �� ��� � �� I��� ���� � ����'��( ���������=7 �� � � ���� ��� ��� �� �� �� � �� ����-�� ���� � ��� �� ��� ���(�� �� �� ��5 � �� � �� �� � ��� �� � ��-��� -�� ��� � ��� �� ���� �� ���$� ���� ����� ���� ����� � ��� �� ��� �� ������ ��� ��5��� ������ �'�� �� ��� ��( � $���-�� � $ -� � ������ ��� � (�$�� ����� M'� ����7 � ��� $��' � ����(�� � ��������� �� � �� �� � ��� �D ��� � ����� ��/ �7 -���� ��������� ��� - � ��� ������L ������( ��� �� -� � ��� � �(� ���5���7 �������� ��� �� ��'��L ��� ��(� ������� ��� �� � � ���� ������ �� � ��7 -���� ������� �� ��� ��7 �� � '� �� ������

�%

Page 11: A Brief Introduction to Parallel Computing

:�� � �� � ��� � ���� �-� ����( ����(� �� � ���=�

�'�'� )���*���� ������ ��������

���� � ���� ���� � ������ �� � ��(7 � ���� �� ���� ����� �5 ��7 �� ��� ��$� � ���� ����(�7 �� � � '� �� ���( ���$�D �� �7 M)�$7 ����7 )�'�7 )��� ��� �,�� �� ��� ��8(��� ��7 ������( ��� � �� �� �� � � ����� ��� � ���( ���� ���� ����� �� ����� � ���(� � � ��� ��� � -�/� ��� �� � (�$�� ��5��� �� ���� �(�� �� �� � ��� ��� � -�/� �� ����7 ������� �� ���$�� 9��� �� �� ��� ��$� � ���� �� � �� �� ��� �'���� ��I��� -�� ��� �$�(7 � ����� � �� ��� $ ����� � ���(���$� � ������� J'� �� � � ���� ��� ��$� � ���� ������������������ � ��� � �%�� �������

�� !��������� ��"�#��

1'� �� � � ����� � ���� �� �� �� �� '�� �� �� � ���(�� ������ �� � �� ����� � ���7 � ���� -���� $��� '� �� ��5���� � -� � � �� � � )�� 9�� ��� � ��$� �� ��� �� �� ���� ���������( �� ��(� ������� �� � ��(7 -���� ���� � �� $��/�� ��� � ���� ��� ����(� :�'��( �-�� ��� ������( ������ �� � � ����5-��= �� � ���$� � ������ �� � � '���� :���( ���7 6������B��� O�����7 &����� 7 ,,M ��� ����/��( �������=� ���� ���������' $� ��� $� ������ �7 �� ��(� ���� � ��� ��� ��� ��� ���5�(���� ��'���� ��' $� ���� �� � �� ���� ����� ���(� :'�� ������ �� �� ������=� �� �'� �� � ����� ���� ������� ������� $�� ����� 7 �� �� � �$�� � � � ����� � �� �� ��/ 3)���� ��'��� ��� ��$� � ���� ����� � ��� ��' $� $� ��� � �� ���������� ���� ������ ��� $� ��� �� ��$� �� �� � �� �##!7 -�� M&�&���� �� � ����������� �� � � � ,-��� �>� 7 -���� �'� � -�� -��� ���� � �� � ��( G�H�

��$ %������

9��� � ���(� �� � �� �� � -��� �� � ��� ��� � $��� �� � ��(�5� �������7 �� �� �� � ������� � ������ �� -��� )��� �� �����(� ������� ������ �� � ��( �'����$� �� -� � ���� ������$��( �� �� ��� �� ��$�� ����� �5F5 �5���� :)1��= �� 5�� � ��� � ������ �� � �� �� ,-��� �>� -�� � ��������� ��� � �����

��

Page 12: A Brief Introduction to Parallel Computing

� �� �- ���$� � -�/ �� � � ��� 3)� ����( � ��� �-� �� ��� � ������ �� � � �� �� ��$� �� ����� �� -���� ��� ���� � ������ �� � -��� �� �##% �� � �� ��� A!%7%%% :� �%% ��� ��� �����=� 9�� �� '� �� �� �� ��( �� � ���$��� � � ��$����(��(��5�� ����� ���� 3)� ��� ��'�� �� ���� ��� 1� ��� � ��� �� � ��� ��5 � �-� �� $� -� � ��� �� ��'��( ��� ������7 �� ���5 �7 � ���� ��( ������ �� � � ��� �� ������� M �� �-'�7 �� �� � �� � � ���� ��� ��7 � �� � ���� �'� � $ -� � ���� � ��� �� �� � -�/� �� � ���� ���� ��� 2- ���(� � �-� ��� ������� �� ��$������ ��� �� ��� $�� � ��>� ������� $ ���/7� ������ -�� �� -���� ��� �� ��� �� � ���� �� O(������ � ���$� ���-$��/� ��� ���� � ���7 �� ��� ����� ���5 ��������� �7 ���� �� ��' $� ����������� � ��� �� � ����� �� ��' ��� ���� �$��� :� �� ��� ��� G��H=�

� �� �� � �� � ��� �� �� ���� �� �� ��� � ��F�� ����� �5 ���� �� (�� � ������ �� � �� �� ������� �����L �� �� ���� � ��� ���� -�� � $������( I��� �- �� ��� ��$� � ���� ���� ��5 � ���

��& �� '���

�� �� ��� �'� �� � �� ������ �� � ��( ��' $� �� � ���� ��� ���������� �� ��� �� $��� � � � � �� � � �� ��� -�(���� �� � ��(�5�� �� � ����� � �� ��� (���7 � �� � ����$� -�� � �� ���� � ��� ��� :�� ��( �� � �� �'����$�=� �� ���� ������7 � ���� ��( � �� � � �� � �� � � (���7 �B�� �� � �� � � ���� ��/ $ �� � �7 ��� � ��' ��� �$� -�� � �� ��� �� � � �� �/� ��� G!�H� � ��� $ ���� �� � 8�� ���5������ (���5��/ �� � ��( ���'� -�� � �J����� ������ �>� 7�� -���� � �� � �� � �� ��� �7�%%7%%% ���� -�/ ? ( ��@ ����� ��( ���(� �� � ��B���� $� � &���$ ���� ��� 7 �������( ��� �� ��� ������ & � �� � ��� -�� ��(7 � �J����� � -�/ �������� ���'�� � ����� �� 54.7 · 1012 K� ��( �� �� ��� ������ �� � ��� -� �� (���� $� � ���+��( � ������ �� ��&��

����� � ����� �� � ��� �� � ��� -��7 �� � �� ���� � �(��� -��� $ �$� ��$�� ��� �� � � ���� -� ; ����� ����� ��' ��� ��� ���� 9��� � '�� ���( ���� � ������ � ��� ������ $ �� � � $�� � *O�� $��� � ���� � � ��� � ���� ���������� ����� ���� �>� �7 ��� �� � � � �� �� �� ��( ��� �� ����5���$� ���� �� ������ �� � ��( ���� ���� �� � ��� �� ��(��8� $� �

��

Page 13: A Brief Introduction to Parallel Computing

K���� � �$���� ��� �' � (��� �� � ��( �� � �� � ��� � ����� � � �'�-� >������ ��� ������ �����(� :� �� ��� ���G��7 �!7 ��7 ��7 #�H=� &� �� �� �� ��( � � ����� �� ��( � �� �� �� ��� � ����7 � ��� $ � � �� � 3) ��/� *� -�� ��� �� � ���5� � �� �� � �� �� � �� � � ���� (��� ��� ���� � ��/��( �8 �� ��� -�� �� � �� ����� $ � ��� G""7 �!H�

�������+��(7 �� � ���� �� � � ����� � ��� ��� ��' ���(�� � � ������ �� ���' �$��� ��'�' ��� � � �'�� � ������ ��5 � ��(D ��� � ������ -� � ��� � � �� (� ��� K� ��( �� � ������� � ���� '� � ������( ��� � ���(� ��� � � ������ ��$����� ����� ���� �� � �� ���-� $� ��� � � ������( ��� � �(� ���� (�� � �� ��� ��$� � ���� ������ �� � �� ��� � � �� � ��:���(� ����� ��� ������= -�/��( ( �� �� � �� � � ���� (����

� ������ �� ������� ��� ��

� -��� $ ����� ������ �� �� ��� � � ���� ������ �� � � �� ����� � � � ���$� � � � � � �� ������ :'� �7 O��)7 �"�7 �&5��7 ��=� ��� ������ �� ��$��� �� ����� ���� ������ �������� ����� � � � ���$� � ���� ����� ��$��� �� ��� ��$� ����� ������ �� � � : ���$�� � ���� �=� �� �� � � ��� $������ ��� � ?����� � @ E -�� �� �� ���( ����� � ���(� �����7-�� �� �� ���( ����� � ���(� ����7 ��� -�� �� �� ���( �� � -��������� �������7 � -��� $ ������ �� � ���$� � �� � �� � ��� � �� ��$��� ( �� �� � ����5���� � � -�/� �� � �� ��� ��� ���������7 ��� ����� ��� � ���� $��/�7 ���� ���� ������� ��������� �� �� �� ��� ��' $� ������� �'����� ���-��� �� �� ������� � '���� ������� � � ��� � �� � � �F� � �'����$� ��������� ���� ���

��� ����� � � ���#� �����

&� �� ��� �$' :�� �� ���=7 ���� ��� ��/ ������ ���� �� �� �'� � $� �� �7 &��7 �,�7 ��7 �� ������ ��(��� �������+������ ������ ��' ��� � � � ���� �� �� (� ��� K� ��( �� �5� ��� G#H7 � - ��F�� �'�� � �������+� �� ��� $ �������� ���� 7 � � � � � � ���D �� � � ��� � � � k �� ��� �� k �� ������ $ ��� � � � ��� ��� ����7 ���$� � � ����D �������( �� �� �� l �� (� � ���� � � � k1 ��� m K� ��( �� � ����

��

Page 14: A Brief Introduction to Parallel Computing

� � � k2 �� � (�'� �����7 ��� �� ��� � ���� �� �� ��( � ���5���� �� ��� � � � (�'� ��� 7 �� k1 · l+k2 ·m �� ��� �� ��� �$� � ����� ������� �� �� '�� �����

&'����$��� � � ��� �'� � ���������7 -���� �� � � ����� ���������������7 �� � ���� �� � � ������ ����� � � ��� � ������ ���(��( �� ���� ��� � ������ �� �����+� ��� ���� ��������� �� �� 5 � �D $� � �(�� ��� ����� � � ����� � � ����-�� �'� ��� $� � �� ��� ��� �� ��� �� ��� ���+� �� � � �� -�� �'�� �� 5������7 � ��� �� � ��' ��� �� � �� ��' ��� �� �� '����� �������+� �� �� � ����� $ �������� �� �� ������ $� � ��� ��

��� ����� ���� ���������

9��� ��� � � �� ��� �� ��� � �� ������ ����� ��� ����� � '�� � � �(��� ��� ��7 ��������� �������( � ��(�� �'�� �� ���� �� �� � �� � ��� � �� ����� � ��7 �� -���� ��� � � �������� ���� � � (�$�� :�(������ ��� ���������= ����� ����7 � � ����� -�� � �� ������( �������+� �� �� ���� ������� �� ��� ���$� � � �� �� �� �� �� ���� ��(�� ���� �'� � ����'��( ���� ��5�����+� �� �� $� ��'����( $ -� ��� � � ������ -�/ ����� $� �� � �� �� ������7 � (�'� � :��� � � � � ��� � � � �� �� � ��� ��= �� ��'��� �� �� ���� �� � �� �� �� ������ :-��� ��� �� � �B���� ��� � � ���� $ ��'��� �� � ��F�� ���$� � �� �7 �������( �� � ���$� � �� � B���� � ���$� � ������7�� �� �� ���� ��� ��� $ �� -� �� ��� � (����� �=� ��$�B�� ��7��� �� �� ��� � ��� ��� �� $� � � ��� ������ ���� /��� � �������+� �� �� � � ����� ���������� �������+� �� ��� �� �� � �� �� ���(� � � � � ���� ���� �'� :� �� �� ��� $�-= � ���(���(�5�'� ���(��( � ����� :� ��� � ��=�

& ���( $�� � ������ ��� $� ��� �� ���� $ �' � �'� 5��( �� ���� �� �$� � �� �� ������ (��� ��( ��� �'� � �������+� ���<��� ��� ��7 � ���� � ��' $� ���� �� ��( ��� ���� 3�������+��(�� ���� �� ��� �'�� ��������� �� (��� ��( ������ �� -� � ��� �� �7 ���� �� � - '� ��7 �� ��� ��� � ���� ��7 �� .-'�7 �� ���� ���� � ����7 �(� -�� ���� ��� �� ����� ����� � � �7 � ����� � ��� $ �������� ��'��� �� ������ ��� ��

��

Page 15: A Brief Introduction to Parallel Computing

��� ������(��� ���� ���������

�� �� � ���� � ���� ��� ��$� � ���� �������+� �� �� ��5� ��� ��� �(������( ��� � �� -��� ��� � ��� -�/ ��� �:-���� ��� � ��� � $ ������� ��� ��=7 -� � �� ��� � ��5������ ��( -� � ��� �� '�� ����( �����(� ���� �� � ���� ����� �7�� ��(� �������7 �� � ���' :�� ��� � � �� �B���� �� ����(� ���� ��� �� ��� �� ��� ��� �� ��� � � �� ��� �� ����� ���� �=� &������(��7 ������+��( � ���$� � ����(� ���� $ -��� �� � $��� �� �� � �� (�� � �(��� ���(�� 1� ��� �/ ��'�� � ��� ��$� � ������ �(��� �� ���( �� � � ���� ��� � �� �� �� ��� ��� ��� ��� �� �� ���$� ��� ��� ����� ������5�� � 9��� � �� ���$� �� ��� -�/ ��� �� �� � �� ��F�� ��� ��� :�(� �� � �� ��'��� � ��� �� � � ��F�� ��� B�� ��7 ��� ���� �� � �� ��7 -��� ��� � ��� �� � ���� � �� � �� �� (��� �5 �5K� '������+� �� � � ��� ��=7 ��� �� ����� � ������ � � ��� -�/ ��� �� � ���'� �' � � ���� �(��� ��� ����� � ��� ��$� � �� ��� �� � �� -�/ ��� � $� � � ��� �� �� �� ���� � � �� � ���� �� ����� SPMD :���(� �(���7 ��� � ��� �= ��� � � ����� �� ����� ����� ������������� 1$'�����7 ����'� � �������+� �� ��� $ �� ��� � �������� $� � �(������� � ��'���� � -�/ �� $��� � � ������� �������� � � ��(�� ��:�=��� ��' � �$�� :��� ���$�� ��� �� �� ������=� 1� � � �� �� � �� �$��� �� ��� ��$� � ���� �������+� �� �� ��� � B�� �� � ��� $�������(� ���� ��� �� � � ���� ��� �� ��� �'����� ��� :-���� �� � ������ � ��� -�� �� ���� �� � �� ���5��� ���� ���=7 � ��� �B��� ��F�� �� �� � � � -�/� �������7 �� ���7 ��� � �� �� �� -�� ��� ������ $� � ����� ��� �� �� -�� �� � ��� � �� � � � >$� :& �� ���� ���7 -���������+� ��� ����� �� � � �(� �' F� � � ���� � �� �� ��7 ��� $ ������ �� �� !���= �� ��� ��� � ����� �� � � ��� �� -��� � -�/��� � ����� $ ���( ��� ��� ��� 7 �� ����� ��� �� � ��� ��/�-� ��� � ������� ��7 -���� ��/� � �3�� � ���� ��-�� ��� ��� �' ��� � ��'���� � -�/ �� �� � �� ��� ��� ��� ��

� ����� $ � � �� �� ��(� �� �� � ����� � � ��� � �������� ��� ��$� � ���� �������+� ��7 �� �� �� ��� �' -��� �� -����� � ����� �����$� �$' �� ��/ � �� -�� ?�� ��@ � ��5������( ����-��� .-'�7 � �� ��� ���$� �� � ����� ���������� �� � ��� ��$� � ���� �� � � ��� � �� � ����� $��� �����( �����(� &� ��(� ����( �����( �� �� ���� �� ��� '����7

�!

Page 16: A Brief Introduction to Parallel Computing

��� � ���� � � ���� � �� (� ������� �� �� ��� � I��� ��G"�7 "�H� �� ��'�� � ���� �� �� � ��� ��$� � ���� �� � ��� � ����� ���� ��� � ��� ��� � � ��������� �'��� $� �'��� � ���� �� � �� -�� ���� �(������ ����� ���� �� �5�� � � ��������� ��� ��$� � ���� ����-��� <��� ��� ��7 ������ � ���� �� �� ��� ���� �� ��� � ���� ���D � � ���(� ��� ��( ��������� ���� � �� I��� ��(� �� � ?'�� ���@ ����� ���� �� � ���� �� �'����� � �������7 � ��� ������ � ��$��� ����-��7-�� ����� ���� ��� ��' $� ��$��� �� � ��� ��$� � ������8(��� ��7 -���� ���� � �� � ��� ��$� � ����� ���� �� � �� .�7�(���7 �� ��( ���� � ������ �� � ��� ��$� � ���� �� � � ��� � 5 ����( � � ��� �������+� �� ����B�� �� ������� �� ��������� ��� �� ��( � �� � ����� ���� �'����� � M'� ����7 � �� � ��$���� ���� � ��� ��$� � ��� ����� ���� ����B�� �� ��� $ � � � $ � �� I��� �� ����( � ��������( ����� � ���

��� '��� �������)����

�� (��� �� � ��(7 � ���$� � �� � �� :���� � �' � ��� ����'���������� � ���= �� ���� ���� � '�� � � -�/� �� � �� (���� ���7��� ������ :��������( � � � �� � ���� ��� $ -� ��= �� ��5���� $ ��F�� � ���� ��/� �� �� � ���� � �(��� ��� �7-���� �B���� � ����� �'� � �������+� �� ���� � -�/ ��� $��'��� �� ��� ��� ��� � �� ��� $ �� � � � ��F�� �� � 5�� � ��F�� � � ��� � ���� � ���� ��� �� ������ � � ��� �� ��� �� ��� ���7 -� �� �� ������( � �� (�� � � � ��� ���&� ��(� �� �� ��/� �� �� �� ������ ����$� ��� �'� � ��5�����+� ��7 � $���� � ����$��� � � ��� � ���� �B���� ���� ��� �������� ��� ������ ��� �� �'� �� � J��� �� � ����������� � � ��/� ������ � �������� � '�� ���( � � � ��� ��� �� � $��/�7 ��-���� � �$�� ��� �� � �� ��+ � �� � $ �����+� :���� �� �� � �J��Q.� �>� G�"H=�

�� �������7 �� �� ��� � � �'�� � -���� �������+� �� ��� ������� ��� �� ����������������� �/� ��� ����� � ���(� ����� ���������� �� � �B��� � �� �'� �� � � �(����� �� ��� ����������� �������+� �� �� ������ � -� � ���(��( �� � � ���;�� �'� �������+� ��� 9��� �� ���-�� ��� $� ��� �� �� �� ��( ��� �'� � �������+� �� -� � ���+��( �� ����7 � ���� � � �� � 5 � � �� ��� ���� �� �� ����� ��� ���������� �������+� �� �� ���5

��

Page 17: A Brief Introduction to Parallel Computing

��� � -� � ��� ��$� � ���� ������ �� � �� ��� �� ���� ������'���� ����� $� � �(������ �������7 (���5�'� �������+� �� �� ����� �� � ���� � �� ���' ������ ���7 -��� � �� � '�� ������( ��� ����'��( ���( �$���7 � � � ����$��� � �� � ����$� �� �� -��� �$�5$�� �� ��� $ ���� � �� ��� ������ � �� � � ���� �$���7 '�+� �� �� $��( � ?���( ���� �$��������(�� ������@ �� (���

� ����� ��� ����� �� ��������� ������ �

&� � �/��( � � $���� ����� �� � ���(� � ������ ��� ��7 � �5� ���� �������� � ������ ��(�� ��� ��� � � �� ��� �� -��� $�������� ��� �� � ���$� � ���� �� ��� $ � ��� ���� � ������ ���$��� � � � (�'� ��(�� ��� 9��� � � ���� ��'�� ��� �� � ���� �'�����7 � ���� $ ��(�� �� 7 �� � ��� �� � �� � � ���� �8� �� � ��(7 � �� �� � �� ��� ��� �8���( � ���$��� � �� (�'� � ���� �� � � ��� �� �� : � � � � ��� �� � �� ��(�� ��� � (�'� ������=� 1$'�����7 ��� ������ �� � �� ������ ��(�� ��7�� � �������+� ��7 ��� ���� �� ��' � �$�� :���� � � ��� ���� ��� � ���� ���=�

�� ��� �� ����� ��� �� $ ��� � ���� � ���� ��� $/ �������� -� � �� � � ���� � � �� ���7 � ��� $ ������ �� K� ��(5 �� �� ��� �� � �� �� � �� : �� �������(= �� ��� �� -��� $ ����� �����( ��(�� �� ��� ��� � ��� ��� $ ������ �� �� � �� � � -��� $ � ��;� ��� � �� '� �� ��� �� ����� �� ����� � 7 � ������ ��(�� �� ��� $ ������ ��+� $� � ���$� � ���� �� �� ��K��� � � �������7 �(� ��+ � '� �� ��� �� ����7 �� � ���� 7���$� � ������ � � ������ �� � �7 �� &�(�� �� �������� -� �� �� ������ �� � � ���� ��� �� ���� -��� ���- ��� ��� ���+� �� � �� ���� �� -� �� �B�����( � ��( � � ��� ������ � � ��� � ��������� ������� � ���$� ��(�� �� I������

��� *���� ��+ �������

�� ������( � � � �� � �� ��'�'� �� ���� �8� ������� ��� �� ���5���� � ���� �� ��� � � ���$� � K� ��( �� �� ��� �� � � � ����7 � ����� ��� �$' �����$ � �� � � ���� -� � � -����� ���(� �� ��� � ��� �� � ��( ��7 � $���� ����� -���K � � ���� ��D

r =N

t�K �7 :�=

��

Page 18: A Brief Introduction to Parallel Computing

-�� N � ��� � � ���$� � K� ��( �� �� ��� ��� � �� t ��5�������� 1$'�����7 -�� N K� ��( �� �� ��� �� ��� � -� ��� �'��( � � � r �K �7 � ��� �� �� � � (�'� ��(�� �� ���$ � ���� ��D

t =N

r. :�=

�� � (� ��� ������ �� �'����$� � �� � �� � � ����-��7 � �K ����� ��� $� �� ���� $� ��(��5��� ������D *K �:(�(�K �=7 �K � : ��K �= ��� '� 3K � : �K �= R 1015 K� ��( �� �� ��� � ����� �� K� ��( �� �� ��� �� ��� $ ��� ������ ��+ �� ��(�� �� ��� ��( � � (�'� ������ ��� ��� ��� � �� ������ ������ ��� ��� � � ����-��7 � -���� � ��(�� �� ����� �7 �� -�� �� �����$ � ����-�� � ���� ���� '���� � ��5���� �� � �� ��'� �� � �� ���� �/ ������� �� ��� �������L ��� �� � ������� � � -� � -���� ��� ��(�� �� ��� $ � ����� �5�� � � ��� ����-��� 1� ����7 �� �� � � ���� ��� �� :� ��� �� ���� ��� ��8� ����7 ���� �� �� ��� ��� � ���� ��=7 ��� ������� ����� ����$�� & � ��� ��7 �-'�7 � ������ � -�� ������� ��� � ����� $ � � � ��� � (�'� �������

��� ,�-���� ��� .��� �� ��� �� "��� ������#

&� ��(� ��� ��� � �� ����� � ������ �� � �� ��� ��� ���5����7 � �� ����� � �� -� � � ��� �� '� � ������� 9��� ������ �� ��� �'�� �� �7 � � � ����$��� � ��� ��� �� $� �'�'� -� � � �'� �� � � J�� � ������ �7 � ���(� �� ��� � � �� �-���7 -���� -�� $��� $� � MJ) )� �� �� � � ����� �� � � ��5 ��� '� � ������� �� ���� ��7 ���� �� ���� ������ ����� ���� � � � ����7 ������� � ��� ���� � ��� ��� $ ��� ��� �5���+� �� ��� � � '� � ������� ��� ��� � ��� �� '� ��� � ��7 � ������� rN � � '� �5 ������( � � ��( � N ���$ � ���� �� ��� � - ���� �� r∞ ��� n1/27 -���� �� � ��8��� � (�'� � � � � ��� � '� � �� � � G�!H� �� 8�� ���� �� ��� � � ������� �� ��� � �� � '�� ��( � 7 -��� � ���� � � ��( � �� -���� � ������� � �$� r∞/2 �� ����'�� ���

rN =r∞

n1/2/N + 1��� �� :�=

���� ��� ��� $ � ��� ���� � ��� �� �� � ��F�� � ��

�"

Page 19: A Brief Introduction to Parallel Computing

�� ��� �7 � '� � � �� �� � ���

x← x + αy

:��� � ����� �� ��= ��� $ � ���� �� � � � � ��( � N ��-���� ��� � � �� ����� � � - K� ��(5 �� �� ���� ����7 ���� �� �� � ����� ��

TAXPY (N) =2N

106rN=

2 · 10−6

r∞(n1/2 + N) ������ :�=

���� ��� ��� $ � ��� � ��� ���� � ��� �� �� �'� ��+� �(���� $� ��� �'� ���� '� � ��(�� ��� G�!7 #�H�����7 �'��� ��(�� ��� :� ������ ���� � ������� ��(�� ���= ����� � � � � ��F�� ��( ��7 -���� �� ��� � ��� �� ��� ��� $ �� � �� ���� �� � � '� ��+� �(���� ��� :�= ��� $ ��� ��8����( ���� '���� � �� ���� �� �� ������+ � ��� �� ��� � �(���� �� ��� ���7 �� G#�H7 � .�/��E0��� ��� � '� � ������( -�� � ��� 8�� � '�� ��� '� � ��(�� �� �� ��'��( ������������ ��� �� -� � ��� �� �I��� ��

��� !������� ��+

1� � � �� �� � �� � ��� � �����+��( � � ��� �� ����5���+� �� � ��� ��(�� �� �� $��' �- � ��(�� �� ��� $ ��'����� �� � �� ��� $ ��� � �� ������ ��� �� �� �� ��' $��� � �B�� ������ �� (������7 ��F�� �� � � �� ��(�� �� ����� � -� � ��F�� � �� ��� �� ��F�� ������ � � �� � � � ��F�� � � � � -��� $ ���' ���� � ��(�� ���� �������$� ��'����( � �� ���$� � �� ��� $� � �'��( � � � � ��5 � �� ���� � ������� �� -��� $ � $� � '�� ���� � ��� �� ���(� ����� ������� -� � � '�� ��� � ���� ��������� � 8�� � B���� � ������� � ��� 7 � ����� � ��� ��� �� � � � ��(�� �� �� � ���+ � ��������( �� � � ����-�� � ��F�� � � � ��(��8��� ��� ��� -�/ �� ��� ��� -�� �� $� &����� G�#7 �%H� . � �$����� �-��-� �� � � �� ��(�� �� ��K��� � � '���� �������� &������( �� � (�'� �(��� ����� � � N K� ��( �� �� ���7 � � -���� ����� �� f �� ��� � -� � � � � � V ��� �7 -��� � �������( �� � � ��(�� �� �� ��� � -� � � � � � S �K �7 ��� �������( ���5 �� �� � � � V �� ��� � �/ ������� -��� � � � S�� ��$� �� ����� ��-� :V � S=7 �� � �� ��� �� �� ��� $ ��

�#

Page 20: A Brief Introduction to Parallel Computing

� ���� ����( � ���-��( ������D

t = fN

V+ (1− f)

N

S= N(

f

V+

1− f

S) :!=

-���� ��� $ ��� � �$���� � �� ��� �� � � � � ��(�� �� ��

r =N

t=

1fV + (1−f)

S

�K �� :�=

��� ������ :!=7 � ���-� ��

t >(1− f)N

S. :�=

�� � -�� �(��� �� ��� � � � ��-� � � S7 � � ��� �� ����� $ � ���� ��

ts =N

S. :"=

�� � ��� �� � � � � �� f � � �(��� ��� $ ������� V �� � ������� (��� ��� $ � ��� � ��

tstv

<N

S· S

N(1− f)=

11− f

:#=

���� ��� ������ �� ����� &������� 2�- ��� ��� $ �� � � � �� ��5�-�D ��� ������� �� � �������� ��� ������� ���� ��������� ��� ���� ����� ������� f �� �������� ����������� �� ��� ���� �� ��� ������� ��� �� ���� ������� � ��� ������ �����

�� ��� ��7 &������� 2�- ������� � ������� �� ��� ������ ���� ������ ��� �������� �� �� �������� ��(�� � ����� �� � � F� � ���+ � f 7 � ���� �� � ������� �� ��� � �� '� � � �7 � � �� ������� � �� ��(�� �� $ ��� � � � '� � �� � �7 -��V = 1000 ��� � : �/ ������� ����( � '� � ��� = ��� -� � S = 50��� � : ������� � ������ ������� ���=�

� ��� $ $��'� �� � ��� �'�� ���( f = 0.8 ���� � �� �� �'��(� � � ���� 200 ��� �� �� �� � � ���� ��� ��7 ��� ���� ����� �� ��� �� �� �' ��� D ���� � ��(�� ���$� �'� � ������� � � (�'� �(���7 � �� �� � �� �� � �� �� �� �� � ��-� � ��'�7'� � ��� �'�� ����� ���� �� � � ��- �� ��� ��$� �� ����� ���� �'���� � � ����'� $� � -�� �(��� E � � �� �� ����� � � ������� (�� � ��� f = 1.0 f = 0.8� & � ���� ��� � ��- � � � � � ��-� �� � � � �(��� ��K���� � '����

�%

Page 21: A Brief Introduction to Parallel Computing

���

���

���

���

����

� ��� ��� ��� ��� �

��(�� �D &������� 2�- : ������� �� ��� �= �� V = 1000 ��� S = 50:��������( ���� �� f=

������� � � '� � �� � � -��� $ � � ���� ��� � ������ ������� G"�7 #�H�

������ :�= ��� $ ����� (�����+� � ��� � � �(��� ����� ��(� n � ��� �� � :A1, . . . , An= �� �� ��� � � ��F�� � ��� .�7Nj �� ��� � �� Aj �� ��� � -� � � � rj ��� �7 ��� N =∑n

j=1 Nj� ���� � �'��( � � � � -�� �(��� ��� $ � ���� ��D

r =N∑n

j=1Nj

rj

�K �7 :�%=

��� �(���7 � �'��( ������� -��� $ � ����� �������� $� �� � � � � ��-� �� ��

�� � ������ �(���7 � �� ��� �� ��7 ����� � �� � ���� ��� �� ��� � ��� ������7 �� ������� ���(� ��� � �� ����� $� � ��� ��(�� �� ��� � � � ���(� ����� :� ��������(� ���� ����7 -�� � F� � � >$ � �� ��( ���( ��� � � ������-� � ���( ����� �F� � �� ������� $� ����( � �(������ � ��K��� � ���� ��� � $ ���/�7 -���� ���� � � ���(� ����� ������=� .-'�7 �� � ��8� �$'7 � ���� (�� � �������� � ��( �� ���� � ������� $��'�$� :-���5���/= ��� �� ��� � ��(�� ��� �� ������ � � �� �� �� � ��� $ ��� ��

��

Page 22: A Brief Introduction to Parallel Computing

� ���� �� � � -���5���/ ��� �� �� ��(�� �� ��� $ ��'��� �� p B��� �� � �� ��� $ ��� � ������� �� � p ������ �� � ������'�$� �� � ������ ��� �� �� -��� $ 1/p � � ���(� ����� ��� ���� � �� �� �� �� ��� ������ �� ���$� �� ��� ��5 ��'��� ��(�� �������� � �B�� ��� �� � � �� ��(�� �� �� � ?��-� 7@ &������� ��-��� � � �� �� �� � ��' � �� ����� �(� �' �� �� � � '���� ��������

�� ������7 �� � ��� � � ������ ������ -� � p ��(��� ������7 � � �� sp '� � �B�� ��� ��(�� �� ����'� �� p ������ ��� $ � ���� ��D

sp =t1tp

� :��=

-�� tj �� � �� � ��� �� � � ��(�� �� � j ������� &����5��( �� ���� �� f � � ��(�� �� ��� $ ��'��� �� p �� � ��� ������ �������+� :��� � � ��� �� � ��� �� t1/p � p ������=7 ��������( 1 − f � �� ��� ���� $ �������+� ��� ��� ��' $��� � � � ���(� ������ �� �� ��� �� �� � ��� ��(�� ��� p ������ ��� $ � ���� ��D

tp = ft1p

+ (1− f)t1 =t1(f + (1− f)p)

p�

����� � � �� sp �� B���

sp =p

f + (1− f)p� :��=

1$'�����7 f < 17 ��� ���� � ���-��( ��B���� � �� ��

sp <1

1− f� :��=

���� ��B���� � :��= �� /�-� �� ������ � ��� ������ ���������� � � � � �� � ������ �������� ������� ������ ��������� �� ���� � ������� ��� �� �������� ����������� �� ��� ������� �� ��� ��� ��� �� �� ��������� ���������� �

��������� � (���� &������� 2�- G�#H � �$' ������� ��� �5'�� � ��� � -�� ��� ����� ����� � � � � ������ ������� � ����(�� ��� �� f = 0.97 � �� #%N � �� ��(�� �� ��� $ ������ ����5���+�7 ��� �� p = 107 � ������ :��= (�'� � ���� �� � � �� ���� ��� !�

��

Page 23: A Brief Introduction to Parallel Computing

9��� � �� �� �� ��� � �� �� $'����� ��(��� �����+�7 � ���-� ��� ����+ � F� � � ��� ��$������ �� � ��� � � �(������ ��( � - ������7 -�� � � �� ��� ��� ����� � ����� � � � � -�/ -��� ����� � �� � ��� ��� ��( � � �� � � ��������7 � � ���5 5$5��� � �� � � �� � ����� � $��� � ����� �� � � ������ �(��� ��� ������ :��= � ���� �� (����7 �� � ���� � ������ �(��� ��� ��( � p ������7 �� � ��� ��$������ '����� ��� tj 7 ��F�� ���$�� pj � ������ �� -�/��( � ��� -��� � �������( p− pj ������ �� ���7 ����D

Sp =1∑k−1

i=1fipi

+ fk

-��k∑

i=1

fi = 1. :��=

���� ��� ��� $ �� � �� � (�����+� ��� � &������� 2�-7 -�� '���5�� ���� ��� � � �� ��� $ ��� � $� � ��F�� ���$� � �������1$'�����7 ��� �� �� ��7 -�� ��� � ���$� � ������ ������ ��� p�� ���7 ���� � �(���� �� � '���� �������7 -���� ������ � �-�� � �� ��� $�������( �� �� � ������ �(��� ��������

&� $'��� �����+� �� ��� �� &������� ��- $���� � ��� �/� �� ����� � 8�� �$�� ��+� �� � �7 � �$�� ��+ �� � � � ���� -� � � ���$� � ������ :� � � �� � �� ����� �� � ��5��( � ������ �� � � -� � ��� ��$� � ���� �� � ��� �� -� � '�� ����� ���� ���� ���� �� ���� � ��� � ��� ���-��( ��� �� � ���(� �$��=� ����7 �� G!�H7 *�� ���� � �� �� �� ��� �' &������� 2�-� !���� ��� �"��� ��� ��� ����� ����� ������ ������� �� ������ ������# �� �"� ��� ���� ����� ������ ������ ������� �"�� �� ��� �� ����� ��������� G!"H� 2 ts ��� tp �� � �������� � ������ �� � � � � P ����� ������ ������7 �� � �'��7��� � ts + tp = 17 �� ��� ���� ������ � � ������ �(��� -��� $(�'� $�

s =ts + Ptpts + tp

= ts + Ptp = P + (1− P )ts.

���� ��� �� ��-�� �� ����� �� �� � � ���� �' -�� � � ���$��� �-�� ��� � �� G!"H�

��� ���� ������� ��� ��� � �� �� -�� �� �� � �� �� �� ��- �� 7 �� �� � � ���� ��� ��7 � '�� ���( ���$� � ��� �� -��� ��K��� � ������ ��� �� �� � �� ��(�� ��� �� � �� ��� �� �� ������ ��/�� �(��� � ������� (���� � �������+� �� �� �� ��� ��(�� ��� �� � � ��� �� �� ����� $ �/� �� ������� ���� ��� � $�-D

��

Page 24: A Brief Introduction to Parallel Computing

• �� ��(�� �� � ��� ��� $ �������+�$� ��� � �� � � -����� �� $ � ��� ��� $ ���� �� �� � � ��� �� ���( ���$� � ������ ��� $ � ����

• 1'����� ��� � ��������+� �� ��� ���� ����� ��K�� � -������ ������� � ���� ���

• 2�� $�������( �� ������� �� �� ��I��� ����' ��� � ���/ � � ���� � �� ������� � ���� ���

• )�� �� � ��(�� ��� �� ��� $ ��� � ��� � � ������ � ����� � ������ � �� � � ���� �� ��� � � � ������ ��(5�� �� '� � �B�� ��� ��

• ��'����( � �� � ���( ��� � � ���� ��� � ��� ���� � ��5�� �� � �� ��� �� �' �� � ����� � ���� ��( �� ������� ��5 �'�� �

�� �������7 �� �� � ���$� � �� ���� ���� �� ��� $ � ��� ���� � ������� � ������ ��(�� ���� <��� ��� ��7 ��� � ���� ��(��� �����+� ��� ��� �� ���� � �� ����( (���� �������� � � ��� �� -�� �� �� ��( � � �� �� � �� ����� �� �����$ �/� �� ����� -�� � �������+� �� � � �B�� ��� ��(�� �� ����� ��� ��( �B�� ��� �� �� � � �� 9�� � �� � ���� ������� ���� �� �� �B����7 �� � �� ������ ��� �� � (�'� �$�� ��� � ������� ��� ��� �� -�� �� � ����-��7 � -���� � �� $ ��� �7 ��' $ �/� �� ����� �

! "����� �� ������� ��������

�'��( ��� �� ���� ������� ��� � �� � � ���� ��� ��7 ���� ������ � ���$� � ����� ��'�'� �� �(������( ������ ��5 � ��� ���� �� ���� �� �� -��� ���- � �$' �����$� �'�� � �������+� �� ��� � �� ��� � �������+� �� ����� � � ���(� ������� -�� �� � $��� � �$� ���(��( $��� �������+� ��� � -��� $ ��5�-� $� � ��������� � -�� ��( ��� �� ����� ���� ��� ��� ��$� ����� �� � ��7 �������+� �� � ��� ��( ��� ��� ��$����5$��� ��5�����+� ���

��

Page 25: A Brief Introduction to Parallel Computing

�� / ����)��# �� ����

1 ���+��( �� ���� G�%%7 �%�H F� �'��� ���+� �� �'��� ��� ����5��� � �� �������( � � ��8� ��:�=� ��� �������� ��� �������� �'D ��� ��(�� �'� � ���� � �������� ��� ; ���+� ��� � � �'��� �'�� �� �'����$� ���+� �� �'�� �� � ������ �� ���-�:-��� � �'�� �����$� $�- �� � � ��8� ��� �� ������ ����-������� � �� ��� ��� �� � � '���7 ������� �'�� ��� $ ���� ������� � ��=D

�� �������������� ���� �����������# ����� �����7 -���� ������ �� � � �������� ������ ���� ���� ��� � ��� �(�� ���

�� $��� ����" ���������������� ���� ����������� -�/� � � ����$����5$��/ �'�� & $���� $��/ �� � $�����5��� �B��� � � � �� �����( -� � � ���� ���� � ������ ���� $������ & ��� �'� ��� ��� ��� ���� ����B�� �� ����(��� ��$� � � ��7 ������ ��� ���� ��$� ������7 ��� �� � �(� �� ��� �����(�

�� %����� ����" ���������������� ���� ����������� -�/� � �(�$�� �(���5��� �'� :� ��$�� ��7 ���� �� � ���� �� ��= ����(������ ��� � ������� ����(��� �7 ���5��� ��� ��� ��( �� -���� ���/��( ������ ��� ����� �������

�� &����� ����������� :�� � ����$�= �� �'� � ������� � �5(���� �� ���� ��� ������� )����� � � �����( � ���� ��5��( ��� � � - ������� 9� ��� ��� �'� � ���+� ��7 � '� �)3< :�� �'����$�= ��� ��� (�� � � ����� ��� � � ���+��( � ���(������� ��� ��� ��� �� ��� �7 � ���-��( ��� � �

�� ���

��� ��� � ���

��� ��

-��� $ �������� � '� � ��� ��� ��

����� ������ ������� �

9�� � � ��( � �� (�� � ��� � '� � ��( � � -�� � �� ��/�-�7 � �� ��� -��� (��� � � �� � � � � �$''� � ��� ��� ���

�!

Page 26: A Brief Introduction to Parallel Computing

!� %����� ����������� ���-� � ��� -�/ ����� ��� � � )3<� ��� � ������ �����+� � � � ��� �� � � ��� �� ��� � ������������� -� � '� � ������7 � ���� � � �� '� ��+� -��� � � � � � �� �������+��

&�� ���+� �� �'�� $� � ��� � ����� (��� �� ���� �� �(�'� ����� ��� � ���� � ��� �� � � (�'� ������� �� ��� �'�� ���+� �� �� � ������ �'����$� � ����� ���� ������ �� � ��:�� '���� � ������ �� � �� �'�� �� ��� ��� ) �� ���� �� �$�� �� �������+� ��=� J���� ��������� -�/ � ���+��( �� ���� ����(� ������� : ������= �� � �� ��� $ ���� � )��� ���+5��( �� ���� �� �� ���7 ��� 6��/ ��� &����� � �������+��( �� ������ �� ��� ��� ) G�H� 9��� ��� � � �� �� � ���������7 �� ���� � B�� �� �� )����� �� ��� ���+��( �� ��� -�� � � � $� :�� ��� � � B���� � � (��� � ��= ���� � ��� ��( � � ��� �)��� P5�3 ��� )��� )5#% �� ��� � ��� <��� ��� ��7 � � ������ ���$ ���� � ��� �' ��� ���� � � � )��� ����� � ��7 �- :� ��7$� � ������ " � ��= '� � ����� ��� � ���( (�$�� ����� &� ���� � ���� -�/� � ��� -� � ����������� ���� �� �������7 � ������� � ���+��( �� ���� $��� ��� �� ����� ��� J� ���� ���- � ��$� �� ��� ������� �(���� �� � � ��� � �� ��� ��� � ���� �� �� �� � �� ��3� ��� &� �� ����� $��� �� � �� ��� �*� ����J)7 -�� � �� ��� ��+ ������� �� n = 1000 G�#7 �"H� ��� ���� ������� �� ���+��( ��� �� ���� ����� � ��� -� � ��� � � �'��� �� � �� ��� ��� ��� � � ��+� � �� ����� ���� ����� �� � �� ��5�� � ���'�� 3�>� � ��/ &�2&� G##H � � ���� �� �$����� ����� ��($���� �� ��� :� ��� �����= $� 7 �� (����7 � � ��-�/ �� �B����� �� �� �� �� �� '� -�� �� �� �������+� ��� 9��� �������+��( �� ���� ��� ��� -� � ���� �������+� �� ��� �� ����( ��� -� � ��� � � ��� �� � ���� � ���� ������7 �� -�� �� -� � �������+� �� � ��� � � �7 �� ��' �$��� -� � �������+� �� ��� ���� � � ��� ��� � � �(���� �� �� �� �� $��� �� ���������� ���� � -�� �������+� �� �B���� � ����� �� ��� ���+� �� � � �(���� � �� ��(��$� �� -��� � �� ��� $��� �������+� �� -��� ��� �� ��������(�� �� � �� �� �� � �� ��� � �� � ��(�� ��� :� ��7 �� ��� ���7 ������ �� -� � � ��������( -� � �� � �� �� '����(� ?-���-@ � � �� ��� $ ������� � �� ��� ��������( ��5 ����� �$��� � �����+ ��� ���+ � ������ ��=7 � -��� $ �� ���� ���$� �� �- �'� �������+� �� ���7 � ��� �� �� �� ��7���� $ ���� � �� � � �� �� $������( ������ �(����� �� ��

��

Page 27: A Brief Introduction to Parallel Computing

-���7 �� ��� �� ��' � � -�/ ����'� ��� � �������+��( ; ���+��( �� ��� ��� 8�5 �� � ���� � � ��� -�/�

�� 0��#��# (��� �������)����

�� ���� � ���� �������+� �� �� $��� � � ���(��( ��� ��� ���- ������� ��� $ ��� ��(������ ���� 7 ��� ��� � ����� � � ���(��(�� � '����� ���$� �'�� � ���������7 �(� '����� '����� � ��5 ��� : �������� .�(� 3������� �� ���= ��� ���&2� ����7 ���(��(��� ��� � �� (��� -��� ��(� �'� � ���������7 �(� &�� ��� 0�'������ �� ��� -�� � � � ���� ���(��(� � ��� �� ���( ���� ���� �8��� � ��(7 F� � -� ���� �/� � �� � �� ��� �� �8�� �� ��� �� ��� ��� � �� � ��( ��(� ������� ��� ������ �� � ��(���� ���� ��� '���� ��� � '� � ��� �� ��� ��� � �� ��� ���� ��� #%;#! � ������� G��7 ��H � �� ���(� �� � � ����������� � .�(� 3������� �� ��� G�"H� �� �� ��(��7 ��� ��� �� �� � ��� ����� (���� -��� ��� ����� � ���( ������ �(��� �'� ��:�� �� � ���� �$� .�(� 3������� �� ���7 � ��� � ��=� ���&2�� �� ��� � � �� � � � $���(��( ���� ���� �(������(7 -���� ������ $ � � � $ � � ����� ������ �(��� ���(�7 ����5 �8� �� � ��( G��7 !�H� �� �� �� �� ��( �� �� � ���&2 �� � ��� �� � ��$��� � �� �� �' ��� ���� ���� �(������( �����(��� &�5 ��(� ��� ��� ���� � -� B�� �����(��( G��7 ��H7 ���&2 ��� ��� ���������� ��� �� � � �- ���� � �'� �� �

&�� -�� ��(������ ���(�� �� � ��������� ��� ��� ��������� � �� �� ���� ��� ������� �'� ��� �� ��� ������ �5(����� .-'�7 �� � '��� � � ����� �������+� �� G"!H7 � ��� �'�$� ������� ������� �� ���� �8� ������ �� � ��( � ���� �� �'�5 �� � �� ��� ���7 �� ��(� �� �� ��� �� � <� � �� �� � �����B���� ��� � � � �� � ��( $ �� �� &��7 ���������� �� ���' ���7�(� ��� �����( � ���� ���7 -� �'� � ��� �� ��� � �� ��5 ��� ��� ������ � �� &�� $� � � ��� (�� � �(������ -������ $ ���� �� � ���� �� �'����� � �������7 �� �� 0�'�7-���� ��� ��� $ ��� �� ������ �'� ������ �(���� :�(� ���(� � � ���� �� � ��� �5 ������(=� ���� � �� � ��� �'�� �- ���(��(7 � �� � ��� ������ �- ���� ����� � � -��� (��� �� � ���� �8� �� � ��(������ �� �� ���� �����'�� �( � 0�'� ��� $ � � -���� ���'����/ � I����� :-���� ����� � $ '�-� �� � �$�� -� � � ���(��(� ��� ���� � -�� � ���(�� �� �� �� �=� 0�'� *���� ?������ �@:���( ���= � � � ���� ��� �$�� G��7 �#H ��� �� -��� ��

��

Page 28: A Brief Introduction to Parallel Computing

�- ��������� ��� F� � -��� $ :�� �� � ���� �� �� � 0�'� �� ����(��( �� ������ �� � ��(7 � ��� � ��=�

�� ����� ���� ������ ��#������ ��� / ��1

3������ ����� � ��� $��� � � ����� ���� ��' �- $�� ����5 ��� ��� ������� F� �� ��� >�� � �- ������� <� �� B�� ��� ��7��� '��� ��� �'��� � � -� � � ������� �� � -�� ��( ������ �(����� &�� �� � ����� -� B�� ������� ��� ����� � � ���� �'��� ����(��( ������ �� ��� ��L �(� � �������+��( ���� �'�7 ��/�7$������ ��� �� ��������+� �� ���� �'� ��7 ���� � �� ��� -�� ��� �� ��� � )� � -�� ��� ��� �� �� 1 ��3 G�%H ��(� �� � � ��5���� �� �� �������+� �� �� ����� ���� ������ �� � ��� 9���1 ��3 �'��� �� � �� �� $���� �� � � � ������ �� � ��(D

• � ��8�� �� � ������ ��� ��7

• �������� ��( $ -� ��� � � ����7

• � �����( ��������+� �� $ -� �����7

��� ���� $ � ����� ��� �� � ��������� � ��� �� � � �����5 � ��7 � �� $� ��� � �� ����� ���� �'����� �� 1 ��3 ����5 �'� �� ���� � ���-��( ���� D

����� ��������� � �� ������ ! �! "#�#

���� � ���� ���-� -�� � ��� �� �� $ � ���(�5 ����� ������ � ����� �� ����� ��� ��7 �� ���� -���� � � �� � 1 ��3���� �'� � �� �� �� -�/��( �� � ���(�5 ����� �� �� ���� ���� ��

�� 1 ��3 ��� � ��/5>�� ��� � ������ ��� ��� & �(���� �� � ��� �� �� � ���(� ����7 ����� ������ ���� � ��� ��7 ������ � �B�� ����� �� �� � 8�� ������ ��� ��� �� ���� ��� ��� � ��� � ���� � �-�� � � ��8� ���$� � ?���'@ ����� ��� $���� ?��� �@ � � ��� &�� � � �� � ����� $� � ������ ��� ��� �� ��� � �� ������ $� ��� ��$� � � ��� �'��� ���� �'���� ������ �� ���- � ��� �� �� � �� � ��$� � � '����$���� � ���� �� � � ��� ��� :�(� �����7 ��'� 7 ���� ��7 ��=� �����-��( �� ��� ��' �� �� ��� � � � ��� � ������ �(��� G�%HD

�"

Page 29: A Brief Introduction to Parallel Computing

����� $�%&����#%

�� � $��

� !! ����#����"���'�� �#���

����� � � !!�! #' ������������#� ���� ���� �����������#�

� �����(����'�� ���"���

������(����"���'�� �#��

������#������#)��

� !! *��+����#",��� ������ ��������#�

����� ��� � � !!�!

J��� ���� �� � ������ �(�� � ����� -�� �� � � (�$�� ����� �

-�/ �� �� �� �� ���� ����� 1 ��3 �� ���D ����#����"���'�� �#-���� � � � ���$� � ����� �� � ������ ��� ��� 7 ����(����'�� ���"�-���� � ���� � ���$� � � ������( ���� ��� ����(����"���'�� �#

-���� � ���� � ���$� � ����� �� � ������ �(��� �� ��� ��7 ��� ����� -��� ��� � *��+����#",��� �� �� ���

�� � ��� � ����� ���� �������7 � �� ���� -�/5������(��� ��� -� ��� � ������ �(�� �� � �����������7 -���� ��� ��$� � � �5� ��� � � �5� ���( �'����$� -�/��( ������

����� � � !!�! ��

�� ���

--------

��� ��

����� ��� � � !!�! ��

�� 1 ��3 �� ��� ����������� ��'��� � � �� ��� � � �5� �� ��$���(� � � ' ���� ��� ����� �� ��F�� �����7 -���� ��� �� �� �������

�� ���7 ��������� ��� $ � ���� $� ���� � � �������� ��5� ��� � �� � ��� � $�-7 ���� ��� ���������� ��� ������*��� ����� � �� ������7 -���� ���-� ��(� �'� �������+� �� $��� � � 5�(��� ��/� ��� ��$�� � 1 ��3 -�� � ��� $ � ��� ���$��� � ��� � � �������+� ���

����� � � !!�! #������#

����� #������

� !! ����������

����� #������

� !! ������*���

����� ��� � � !!�! #������#

�#

Page 30: A Brief Introduction to Parallel Computing

�������7 �������� �� (�� �� ��� ��' �� � ���(� �� �� �� ���� � �5�� � � � ���+��( 1 ��3 �� ������ �� � ��(D∫ b

af(x)dx ≈ h

(f(x0)

2+ f(x1) + . . . + f(xn−1) +

f(xn)2

):�!=

-�� h = b−an ��� xi = a + ih7 i = 0, . . . , n� &� 1 ��3 �� �� �

��� ��/ -��� �/ ��/ ���D

'�,. �)�

����� � � !!�! �� ���� ����� ���"��������#"��

�� ���.�

� �$'

#"�#"��/���

��� ��

����� ��� � � !!�! ��

#"�'$�#"�� -0$�/� ��/�,���

�� ��� ��� �7 � ���"��������#"�� ����� �� ���� � ��� ��� � � ��5 ��� �� � '����$� #"� �� � ��( � � ��� ���� �� �� ���

�� ��� �� ��� � �$' �� -�� �� �� ��� �� �� ������� (�' � ���� � (���� ����( �� -�� � �� -�� � �� � (�'��'����� �/� ��/� �� ��� �� � ���� � 1 ��37 ����� G"7 �%7 �%H����������7 � ������ ����� $ ����� � �� � � ���� �������( ��������( �� ��� �'����� ��

�� ������(��� ���� �������)����

&� ������ � �$' :�� ��� ��!�� ��� ���=7 �������+� �� �� ��� ��$� ����� �� � �� � ������ ����� � � ��'����( � �(��� �� � ��� �� � � ���� ��� � �� -�/ ��� ��� �� ��� �������� $� �����(5��( ����(�� � ����� �� � $����� � ���� �� � ����7 ������ � ��� ���� � � ��� ��$� � �� � � �� � � '� � ���

‖x‖2 =

√√√√ n∑i=1

x2i .

&���� �� �� ��� �� (�� p ��� q ���� �� pq = n ��� �� ��� �� $ ��� � � � ������ �� � �� 1� � ���$� � ����� �������+��( � �$�� �� $��� � � ��� �5���' � ����� .�7 � �(��� ����� � � - � � � ��/�D ����� ��" ��� ���� ��"� Ti7i = 1, . . . , p� �� ���-��( ���5�� ��� ����� �� ��� � ����D

�%

Page 31: A Brief Introduction to Parallel Computing

+�(�,$

�� * n7 x ��� ��� p ��� q�

�� � �-� p ���' ��/� Ti7 i = 1, . . . , p�

�� ��� q ��� ���' ��/� Ti�

�� �� i = 1, . . . , pD ��� ���$�� x(i−1)q+1, . . . , xiq Ti�

!� � sum← 0L �� i = 1, . . . , pD ���' S �� ��� ���S ��� � ���' ��/��� ����(� � � '����$� s ��� sum← sum + s�

�� &���(� sum← √sum

(��-,

�� O��' ��� S�&��JOS � '��� � q�

�� O��' ��� S�&��JOS q ���$�� y1, . . . , yq �

�� )������

s←q∑

i=1

y2i .

�� ��� s S�&��JOS�

9��� � ��� �5���' $��� �� � ��( �� ��� � � � ���$� � 5 ����� ��� ��$� � ���� ������ �� � ��(7 � ����� �� � � (������� � ��'����( -�/ �� ��� ��� ��/� ��� ������ ��( �� � � ��� ���(� ����( �����(� �� - �� ���� �'����� � �� � ��( ��� �� � �� � ��( -��� �- $ ��������

'�'� !-+ ��� +!�

%����� &����� ������ :34�= ��� $� �'� � �� �##� $� � (�� ��������� � � <��'��� � � ������ � �� � ��� ��$� �5���� �G��H ���(�� �'� ������ � ���� ��� � � -�/� � � �(����� � ��� � ���-� �� ���� � � �(��� �'����� �� � ���(��� � � ���� ������ 34� ����� � � � ���� �� -�� �� ����� $��� � ��� �� � � ������ '�� ��� ������7 � ���� ��� � ��$����7-���� �'��� ��$�� ��� �� ���� ��� �� ��� ����( �����(� )��5�� �� ��� ��$���� �� � � &3�� �� �� ��� ��� );)TT� � ����� $� � �� �� � � ���� �� � 34� �'����� ��� $ ������� �� ?��5 ��� �'@ �� �� � � � ���� �� � �� ��7 � 34� ��� -�/� ���

��

Page 32: A Brief Introduction to Parallel Computing

� ����7 ��� ����+� � � �(��� �'����� 7 ��� �� �� � � 34������ � ��� ������� �� �� ��� � �� � '�� ��� �� � � ��� � �� � � ��� �� � � ���� �(���� J� ���� � ��- �� 34� �� ���� � -�/ -�� �� $� �� ������( �'����� � G"�7 "�7 "�H�

9�� ���-� �� �� ��� � � � 34� �� �� ������� � � �� (���:�!= ����( � ��� �5���' � �����

� ���� 1

��� ����� �����#� '�*� ��2

��� ���#3� 42

/!� � �,�'�!#"����!2

���#3 4�����������2

�����������(��"��5����(� !5�2 )$ ��� �'� (��"� $)

�/ ����� � )$ �% � �'� /��#� � #+ . �'� � #��� � #+$)

1 - 2

,6-�7�0892

�����/�5:�* � �� �����##��# ; 5�2

#� �/�5<�5�=�����#�2

)$ #� *� �����#.� � #+# $)

'�*� ������#� *��5��� �5���' �$$� � �5$5������#.��=���#3�4�2

)$ * �� /�� ��'�� �����##�# $)

*'�!������(#����5����(� !5�������#�

2

)$ #��� � � $)

��������#�������> � >�/ "!��2

�����+����=�����#�����2

�����+/!� ��= �����2

�����+/!� ��=,�����2

����,� #��5����(� !5�� �2

?

�!#� )$ @%� #! �� $)

1 ���������.��� �2

����"�+����=�����#�����2

����"�+/!� ��= �����2

����"�+/!� ��=,�����2

?

)$ /��� �'� ������� ���� $)

'�,. �)�����#2

�'$����2

, �'2

��

Page 33: A Brief Introduction to Parallel Computing

!#"� -0$'$�/� ��/�,��2

)$ ( �'�� � ��� ! ��#"!�# $)

�������"������A"��=!#"�����BC�DEF�G�H �5����(� !5� �2

�/ ����� �

1 �����/�5</I�5�!#"��2

?

����, ������5����(� !5������#�2

����������2

?

� ����� $ � � �� �� ��� �� -�� �� �� � �'��� ��� � �������� ��( � ��� � � '� �7 � ��� � �� ������( ��/� �� ���� � �� ��F�� ��� � ��/� � � ���' ������ ���� �� � �� $ � ���� �� � �� � � ���� -�/��� � ��� � � ���' ����� ����$� �� ����� ���(� ��� �� � � ��� �7 � ��� � ����� ��� ������ -�/ : ���$�� � ������ '���� ���� ��� � ���'�=7 -��� -�� ��(�� � ���'� �� � ��� ��/�� ���� � ����7 -��� ���(� �� ����I��� �� ��� 7 �� � �� �' � ��� $�������( : � ��� � ��� ���= ��� ��� ���� � �� � $ � '���� ������� :� �� �� !��=�

������ %����� (������� :�3�= ��� $� �'� � �� �##� G��H $� �5������� ��� &�(�� M� ���� 2�$�� ��� 1'� ��7 � ��� $�� ��5��� � ������ �� ����( �����( ������ �� � ��( :�� �����( 34�7-���� �� ��-�� $����( � ��� =� �3� �'��� �� � ���' � � ����5���� �� ��$�� ��� ��������( �� 5 5 �� �������� ��7 $������ ��(��� ���� �' �������� ��� � ��� $� �� ��� � � � '��� � � ����5�� �� � �� ��������( �����'�� ������ �� � ��7 ���� �� ��� � -�/�� -�/� � ���� �� � � ����� �7 � ���$� � � ���� ��� ��5������ �� ��� �'����� � ��' $� �'� � �� � �3� $��� ������ �� � ��( G!!H�

&� �� ��� �7 ������ �(��� � �� (�� �� �$��� .-'�7 ��� ��7 � -��� $ ��'� ����( � �3�� ���� .� ��� ����� ������� �� � -� �� � � �� (��� ��� �� ��� � �� �����( �� ��� ����� & � �� � � ����7 ��� ����� ������� � ��� �� ���� � � -� ����� � � � �� (���� 9��� � ��� �� �������$� ����� �� ��� ����� ��� ������� � � -� � � � � �� (���7 � ��� ����� �� ��� �� >�� � �� � � ���(� �� ��� �� �� (��� '���� �� ��� $���� ����� ��� ��� �� �� ��$�B�� ������� ���

����(�� ����� ����� �"�����#� ���

�� !$J �� #"�� (!�, !�#"�� � ,� ��� � ���,� ���'� '

��

Page 34: A Brief Introduction to Parallel Computing

$

�� � $� �,

� !! C�@�@K@G� ���� �

� !! C�@�LFCC�M�KN� C�@�LFCC�OFME>� ����� ���� �

� !! C�@�LFCC�A@PQ� C�@�LFCC�OFME>� �"�����#� ���� �

'�,. �)�"�����#

��� �����$'

���,��� �'

#"�'$�#"�� -0$�/���� ��/����,���

$ ��!!��� !! �'� � ��� ! #"�#

� !! C�@�MQ>RLQ�#"��(!�, !�#"����C�@�>FRSEQ��MQL@A@FK�C�@�ARC� �

� C�@�LFCC�OFME>������

$ ���� �����# �'� �#*��-

�/ ����� -�T- � �'��

����� $�%M�#"!� �# %�(!�, !�#"�

����/

� !! C�@�D@K�E@PQ����

#���

���

�� �����2������(��� ���� �"�������

&� ������ � �$' :�� �� ��!=7 �� �� � ���$� � � ����� �� �5�� ��( ������ ��(�� ��� � �����5��� ��$� � ���� �� � ��� ����� �������+� �� ��� $ �� $� �� ��( ���� � �� � � �� � '�� ��� ��������� �'����� :��� ��7 �� ��� ���7 1 ��3=7 �� � ��� ��$� ����� ������ :��� �� �3�=� .-'�7 $ �$� �� � ������ � ����� � � 7 � ��� -�� ������ � ���� � ����� & ���8��5 �� � � �$' �� �� � ������� �� � � �� (��� �� � ���+� >�� ���3� ��� 1 ��3 ��� ����� �� ���� �� � �����

� � ����� ��� �

����(�� ����� ����� �"�����#� ���

�� !$J �� #"�� (!�, !�#"�� � ,� ��� � ���,� ���'� '

$

�� � $� �,

� !! C�@�@K@G� ���� �

� !! C�@�LFCC�M�KN� C�@�LFCC�OFME>� ����� ���� �

� !! C�@�LFCC�A@PQ� C�@�LFCC�OFME>� �"�����#� ���� �

���'�,. �)�"�����#

��

Page 35: A Brief Introduction to Parallel Computing

��� �����$���'

���,��� ����'

'����,.��� �)�

����� � � !!�! �� ���� ����� ���"��������#"��

�� ���.�

���� �$'

#"�#"��/���

��� ��

����� ��� � � !!�! ��

#"�'$�#"�� -0$�/���� ��/����,���

$ ��!!��� !! �'� � ��� ! #"�#

� !! C�@�MQ>RLQ�#"��(!�, !�#"����C�@�>FRSEQ��MQL@A@FK�C�@�ARC� �

� C�@�LFCC�OFME>������

$ ���� �����# �'� �#*��-

�/ ����� -�T- � �'��

����� $�%M�#"!� �# %�(!�, !�#"�

����/

� !! C�@�D@K�E@PQ����

#���

���

.�7 � ��'���� � � -�/��� �� ��� ����� �� �� � �3� �'���5�� � ���7 � ��� ����� ���� �� � �7 � 1 ��3 ���� �'� ����� ���� � �������+� ��� 1$'�����7 ���� �� � ���� �� ���(� ���� �� ���� � ��� �� ���� �� ��� $� 7 �� � ���� 7 � ���� ��� � ��������( ����-�� ����� � ��7 -���� ��� ��� ��� �� ������� (�����

� 1�������)���� � ������# ���

)����� � �� �� �� -�� �� ��� ��( �B�� ��� �� �� $ �������+��&� � � � �$'7 � � ��� �� � ���� ��� � � �������+��(�� ��� :� ��� �� ��= ������+ ��� ��$� �� ����� ��� ���� � ���� � �� ��� ����( �� �� �� �� ������ ������(� �� � �������� -�/ ��� $ �� �������� ��� ��� $ $��� � � ���� ��5��� �����( � � ����5-�/��(� � � ��� 9��� ��� ��� ��� $ �� � � ��� �� ��� -��� ��'�' � � -� �� ������ ������(�7 �� ���� (���� ���� �� ���- ��� -�� ��� $� ���� �$'� ���� 7 ���� �� � � � ����D -��� �� 1 ��3 � �������+� �� ��� $ � $� ��� �� :��� ��� $ � ���� �� ��� = �� � ��� � �

�!

Page 36: A Brief Introduction to Parallel Computing

�� �� �� ��� � � ����� ���� ������ �� � �7 ��� � ������� � $ � $� �� � ��( ���� � ��� ���� �� �� � ��� �� ���� � � ����� ���( �� � �� �� (��( $ $��� � � ��� ��$� ����� �����(� ��� ���7 � ��� � 7 ����� � ����� ���� ���� ��� �� � �� ���� ��'�� �� ������� ������ �� �3�5$��� �������+�5 ��� �� �3�5$��� � ���� ��� $ ��$��� -� � � 1 ��3 -��� �����5��� ��$� � ���� ����-�� �� $ ���7 $� ��� ��� $ ��'�/��� � -� � � F� � 9��� �� ��� � ���$� � �� �� ����'����� � �� ��� $ � ���+�7 ��� ��� � � �� ��� � � -� ��� �7� �� ��(��$� �� � � (�� � � �>� �� �'� ��� � �� �� -�� �� �������� ����� � �� -� � �'� ����(�7 -���� � ��� � �� � � � �� � � ��� �� ��� ��� �� ����� ��� � �$'7� ��� �� 0�'� �� � �� $ ���� � �� �� � ��'�� ���� � � ������ �� ���' ��/��

����7 �� �� � �� ���� �� � �������� � � ��� ��( ��� .� ������ ����� ��� � � ���� �� � &������� 2�- ��� �� �� � �� ���� ���-� ��� � �� � � �� ��� $ ��� � �� �� � � �������� ���' ��� ���� �� �� �������( �� � � � ��� � ��/� ���F��� -� �� � �� � � ��7 -���� �/� ��� �%N � � �� ��7�� ��� �� �������+�7 �� � �������( �� � � � �� �� � � �����7 � ���� � �(� � � �� �������� ����� ����� � $������/��( ��� ��5 �8���(� &� �� �� � -��5�'� � �8� �� ��� �7 � $������� -�� ���� ��� �� F� ��

�������7 � �� ��� ��� $ ������� �������� 9��� �� ���� ��� $ ��� �� ���� ����7 �� ��� � � ���$��� � �� ��� ��7� � � �� �7 ��� $ � ���� $� � ��� ��( ����� � ��7 ���( �5��7 �� � M ��$ � �� �� G�H7 � &)� �1�� G�H ��$���� � �������7���( ���7 � � M& ��(� ����� O�� ���� ��' -� ���� � �� ���'� �� � ��� �� � I��� ������ ��� �� � � -�� '��� � ��� ��� ���� �$���� ��� ��� ��' $� �� ��� � ��� � � �� ���$� � ������ �� � �� ���7 '�� � �7 �� �� '�� ��(� B���� �$ � ��� � �� � '�- � �������� � � �� �� -�� �� ������ �5������� ���� � ���� ��� $ ����� ����� ���� ������������� :�� ��� �� ��7 � ��������� � �� -�� �'����$� ��� � � � �� ���5������ �>� � �� � ��� � �������� ����� ��($�� �� ��� �� ���� �� ��� ��= � ��� $ � ����7 �� � �$' ��������� �� ���� ���� ���(�� � -�� �� �'����$�L � )�� �� ��7 ��7 �� �� �� ��� ��� ��� ��( �� -��� 1'����7 $�� �� � � �� ��� -�� � �������� ��' � (�'� �$��7 � ���(� ����� ����� $ ����� � �� �5�� ��( �� -�� $���� ������ �� �� � ����5 5�� �� ��� �� ������

��

Page 37: A Brief Introduction to Parallel Computing

�'����$��

�$ 0�(����2(��� �������)����

��� �� � (�� ���� � ���� ��� �� -���� �� -�� ��� $� �� �5�� � ��� -���� ��� $ ��� -�� ��'��( � �� ������ �� � � ���� �$��� ���� ��� $ �� � - �'��� ���� 7 �� ��� �� � �� 5-�� ��/�(� �� ��� $ � ���+� ��' �$��� �� ������7 �(� ������3�J ��'� J223&)6 G��7 "#H� ��� ��� ��� �'��� ��/�(� ���(���� �� � ��( ������ �� � ��( ��'�'��( � ��� �� ���� G��7 !�7 �%�H�9��� �� � �� �'����� � �� �8�� �� � � 5�5 �5�� ��� ����( �� �� ����$� �'� ��( � �� ����7 �� �� �$��� �� ��� � 8 -�� ��(� �� � ��� ��( �� -��� ��� �� ��� �- ��(5�� ��� �� ��' $ �� ��� �� �� ��� ���7 �� ��� ��� ��$����� �?$������( $��/�@ �� ����� $ ��� �� � ����� 9�� ���-� �� � $����� ���� �� � � � �� �$�� ��$����� �� � ��( � �'� �� � ��(� ������� ��� ������ ��� ��'�'��( �� ��� �� ����

'"'� .��( ��� ��!�#/

�� � ��� � ����� ��($���� �� � � ��� �� ��� ��� $��� � ��� ����� ����7 �� ��� � � � ��� � ������ �� -�� ��( ��(� ������� �� 5-��� �� ������7 �� ��� � � ���� �� � �� �� ��� �� -����$����� �� $��� � � ������ � �� ��� ��� $���� ����� �� -���� ��� � �� :'� ��(� � �� � ��� $� ��� �� ������(� $� �-�/ � �� *�� ���� G!#H=�

�� 8�� � �� � (���� ���� �� / ��� �� �#�#7 -�� � ,2&�:,���� 2���� &�($�� ��$�� ���= � ������ -�� � �� G��H� O�����������+� �� ����� ��($�� �� -�� : �������� �� ��� �� ����= ����� �� � ���$� � $���� �� ��� :�(� '� � ������(7 '� � ���� ��7 � ���� 7 ��=� ��� ������� �� �� ��� ��' $� �8�� �� � ����5 �� � �� ��� �� ��$�� ���� �� �� - � � / ��� �� �#"" ����##%7 �� � �'��7 -�� � ���� �� � �� ���5'� � ��� �� ���5�� ��� �� ��� ��' $� �8�� G�"7 ��H� ��� - �'� �� � ��� $ ���� � ����-�� ����(� �� ���( � ��� ��� �� �� ���� �� � �����5������ ���� � ��� ��� ���� � �� � ��������( �� �� � �'� �� � ��(�� ��� �� -��� �� � �� � ����� � :�' � ����" � �� � ��7 ���� ��� � ������� �� ��� � � ��� �' � �� � $��/ ����� ���� ��� ��� -� � � �� �� � $��/=� � -�� � �$����� �� ����' ��� (�� � ����� �-�� ����� ��($�� ��� �� ��� �

��

Page 38: A Brief Introduction to Parallel Computing

$��/ �� ��� ��� ���� �� ��� ��� $ �� ������ � ��� � �� ���� �� ���5'� � ��� �� ���5�� ��� �� ����

�� ,2&� �� ��� -� ��� �� � �'� �� � ����� ��($�� ��5$����� �� ��'� � ���$� � � � ������ �$���� 2'� � ,2&� :'�5 � ��� � �� ���= -�� ��� �� � �'� �� � � 2�M3&)6 G��H��� J��3&)6 G!�H ��$����� �' � � ��� �� � ����� ��� �� ����(� �$���� �� ���� ��'�� �(� � �� ��$����� -�D � ����� � �������$��� � � � ��7 � � � �$��� � �� -�� �� � ���$��� � � ����-����� � ���+� �� � � ,2&� /�����

�� �� � -�� � �'� �� � � 2&3&)6 ��$���� G�!H7 -����?��$���@ � ���� ����� �� �'����$� �� � 2�M3&)6 ��� J��3&)6 ��5$������ 2&3&)6 -�� $��� � � ���+��( �'� � ,2&� /����7 -��� �,2&� � ��� � �� ��� -� ��� ��� -�� �������� � -�� ����������� � -��� ���(� ����� ��(� ������� �� � �� -� � '� � ������ :�(� )���7 )�'�= � -� � ����������� ���� :�(� �*� 1��5(��7 .3 J�� ���7 �J) &� �� -�/� � ��� ��=� �� 2&3&)6 -�� ������(�� -�/ -�� -� � ����� ���� ������ �� � ��7 �'����( �������+� �� ����� � �'� � ,2&� �� ��� G�%H� <��� ��� ��7 -��� ��� ������� -�� '�� (� �� � ��� �� � ����� ��� �� : ��� -����� � �� � ��� � ���� ������� ����� �� � ������ � � � 5 ����=7 � ������� � �(� �$�� ��'�� :�� $ � ���(� �������� ������ �������= -�� ��(��� � ��� � � B���� � � � ��������(,2&� �� ��� � �� ��� '�� ���� ����� �� �� ���� ���� G�#7 �"H�

�� ��($���� � � ��7 � ,2&� �� ��� ��' � ���-��( ��� :�5 ���� ����� �� � � ,2&� �� ��� ��� $ ���� �� G�!7 �#H=D2'� �D '� �5'� � �� ���D

• y ← αx + y7 x ← αx7 y ← x7 y ↔ x7 dot ← xT y7 nrm2 ← ‖x‖27asum← ‖re(x)‖1 + ‖im(x)‖1�

2'� �D �� ���5'� � �� ���D

• �� ���5'� � ���� �D y ← αAx + βy7 y ← αAT x + βy

• ���/5� � �� � � (���� �� ���D A← αxyT + A

• ���/5� ��� ���/5� � �� � � ���� ��� �� ���D A ← αxxT + A7A← αxyT + αyxT + A7

• ��� � ���� �� $� � ����(���� �� ���D x← Tx7 x← T T x7

• ��'��( � ����(���� ��� � � B�� ���D x← T−1x7 x← T−T x�

�"

Page 39: A Brief Introduction to Parallel Computing

2'� �D �� ���5�� ��� �� ���D

• �� ���5�� ��� ���� �D C ← αAB + βC7 C ← αAT B + βC7 C ←αABT + βC7 C ← αAT BT + βC

• ���/5k ��� ���/52k � �� � � ���� ��� �� ���D C ← αAAT + βC7C ← αAT A +βC7 C ← αAT B + αBT A+ βC7 C ← αABT + αBAT +βC7

• ��� � ���� �� $� � ����(���� �� ���D B ← αTB7 B ← αT T B7 B ←αBT 7 B ← αBT T 7

• ��'��( � ����(���� ��� � � B�� ���D B ← αT−1B7 B ← αT−T B7B ← αBT−17 B ← αBT−T �

1$��' �� ��� �� �� ��� � ,2&� � ��$���� ��� $ � ������ ��� � ,2&� � �� ���� )�����7 �� ��� ���7 � �� ���5'� ���� � ���� ��

y ← αAx + βy :��=

��� $ ��� ����+� �� ��� � � �B��� � � 5 ���� � :�� �� U�1�=7'� � ������(� :U�)&2= � '� � � �� � :U&V3P=�

zk ← Ak∗x7 �� k = 1, ...,m :U�1�=y ← βy :U�)&2=y ← y + αz :U&V3P=

:��=

1$��' ��� �� �(������ � � ��� �� � �$' �����$� ��(5�� �� ��� ����� :��= �� B��'��� 7 � � ���� �� � � ,2&� � $���� ���� ��� ��$� �� ����� ���� � ���� � �����5���� ����5���� �� ��� ��� ���� � '���� ��� �� ��� ���������7 �� ���� ��� � $� � ,2&� � �� ��� ��� $ � ���� �� ��� � �-� �'�,2&�� �� ��� ���7 �� ��

C ← αAB + βC :�"=

��� $ � ���� ��

C∗k ← αAB∗k + βC∗k, �� k = 1, ..., n, :�#=

-���� �� � �B��� � �� ��� �� � $� :��=� � ����� $ ��� � � �� 7 �� �� � ��� � � �����( �'� � ,2&� �� ��� $� �'� � ,2&�7 � � ���� �� � :�"= ��� �� � :�#= ����� � �� ���� � �����5���� �������� ��� �� ������7 ����� �� � ��'�� �(� � �

�#

Page 40: A Brief Introduction to Parallel Computing

,2&� ���� ��� � �� K � �� �

y ← y + αx 3n 2n 3 : 2y ← αAx + βy mn + n + 2m 2m + 2mn 1 : 2C ← αAB + βC 2mn + mk + kn 2mkn + 2mn 2 : n

��$� �D ,2&�D ���� ������ ��� ��� �� �� �� ���

��� � ���

,2&� � #��"� �����

,2&� � �!!�"� !���

,2&� � ���"��� ����

��$� �D �� ��� ��� � ���� �� � � 3� ��� ��� "���.+

� ���� �� � ��(�� �'� ,2&�7 ������ � �� ���$� � ��� �� ���� �� ��� ��� � ���� � �� � �����(� $ -� � ����� �������� ��$� � G�#H � �� � � �� � � � ���$� � �����5������������ ��� � ���$� � ��� �� ���� �� ��� �� m = n = k�

�� ��(�� � �'� � ,2&�7 � �� ��'��$� � �� � $����:�� ���$� � �� ��� ����� � �� � ������� ��� �' � ������ � �� � �'�� �= ���� ��� � �� �������� �� �' F� �� ���� � ����������� ���� �� � �� :� ��� �� �� ���=�

� ����� �� �� ��� ���� � �� �� ���� �� �� � �� �� � ����� ?�� ��� � ��@ $� ��� �� �� ?�������@ ����� � ���7 ��$� � ��� � ������( � � :�� ��� �= ����'� �����( � �� � �� � � ��/ C ← αAB +βC ����( ,2&� �7 � ��� � /���� :� ���+��( ��(�� ��� ����� �#= �� m = n = k = 1000 � � ���(�5 ����� 3) -� � �� � 3� ������ "���.+ ����� -� � !���, O&��

��� �� - -��� � ����( ,2&� �� ��� �� ������ �� � ��(� ���� 7'�� � �7 ,2&� �� ��� �� �������+� $� � �� � � ����-�� '�5���� �� ��� ���7 � ���� � �'� � ,2&� �� �� U*J�� ��� ���� �� ������ ��� �� � �� ���5�� ��� ��� � ���� ��� &�� �� �� � ���+�U*J�� -��� �� �� ������ ���� ��� �� �� �� ������� 9��� ���� � � '���� � �� �������$� ���� � �� ��� ������ �5��'� ��(��� ���+� ,2&� /���� :�� ��� �������� � �� )����� scilib��$���� -� � � � $� �� ���'�� �������7 -��� ����� �� �,���ESSL ��$���� �� ��� '�� -�� ���+�=7 ��� �� � ��' $ � ������ ���� ��7 ��� �� � ,2&� /���� �� �������+� :� � � � ����

�%

Page 41: A Brief Introduction to Parallel Computing

��� '�� �� � �� �� ��� �� �� ��� �� ���� ��� �� ���� � �� ��� �� �� ���= ��� �� �� � ������ �������+� �� ����� ���� �5'����� � ��� :�� �� ��� � � �$��� ���� �� �� �������+� ��� ,2&� /����7 � G��H=� �� ��� 7 ������ ������� � ,2&� �� ������� $ �/� �� (��� � :� ������ ���� �� �� �������� ���+��� ���(� ����� ������� �� � ����������� ���� �'����� =���/��( ��� �� ����� ,2&� /���� ����� $ �� �� � ���+� �'� ������ �(���� -�� � ,2&� �� ��� -��� ��� � � ��� �������� ����� �� � ���� ��� $���� ���� �� � ����7 ������ �� ��� � �� ����� $��� � � ������ C ← αAB +βC7 -���� ��� $ �-�� � ��D

(C11 C12

C21 C22

)= α

(A11 A12

A21 A22

)(B11 B12

B21 B22

)+ β

(C11 C12

C21 C22

):�%=

& ����( � �8�� �� � �� ��� ��� � ���� ��7 � ���-��( $��/ ��(5�� �� ������� �� ��� C �� $ �����

C11 ← αA11B11 + βC11 ;�;C11 ← αA12B21 + C11 ;�;C12 ← αA11B12 + βC12 ;�;C12 ← αA12B22 + C11 ;�;C21 ← αA22B21 + βC21 ;!;C21 ← αA21B11 + C21 ;�;C22 ← αA22B22 + βC22 ;�;C22 ← αA21B12 + C22 ;";

:��=

1$��' �� ��� ��(�� �� ���-� �� ������ ��� �� � �� ��� ;�;7;�;7 ;!;7 ;�; ��� �� � �� ��� � �� ��� ;�;7 ;�;7 ;�;7 ;";� 1$'�5����7 � �� �����$� ��'�� ���( �� ���� �� � ���(� ���$� � $��/�:�(� �� �� � ���$� � �'����$� ������=� �� ��� � ��5 ��� ��� ��� �� $ ��>�� � ���� � ���� ����� ��K�� ���� � ���� �� � ��� � ���� ��� $ ����� �� � $� � $��/5)���/�� �� �� ��'��( ��� �� � ����� B�� ��� �� ���� ��� �� �' �8�� �� �����

� �� -�� /�-� �� �� ��� � � ���B� ��� �� �� �� ���� ��5 ����

A = LLT , :��=

-�� L �� � �-� ����(���� �� ���� ��� ��� � ��� � ��� � ��(�� ���� � ������( � �� ��� L -� � �� ��� �� ���� �� ��� � � O(n3). � ��������� ���-� � � ������ �� �� � ��� $ � ���� �� ���

��

Page 42: A Brief Introduction to Parallel Computing

� ����� � �'� � ,2&�� )����� �- � ��� $ ������ � �� $��/ �� ��� � ���� �� ��� � �'� � ,2&�� ������ :��= ��� $ �-�� ��� � ���-��( -��D⎛⎜⎝ A11 A12 A13

A21 A22 A23

A31 A32 A33

⎞⎟⎠ =

⎛⎜⎝ L11

L21 L22

L31 L32 L33

⎞⎟⎠⎛⎜⎝ LT

11 LT21 LT

31

LT22 LT

32

LT33

⎞⎟⎠ :��=

����

A =

⎛⎜⎝ L11L

T11 L11L

T21 L11L

T31

L21LT11 L21L

T21 + L22L

T22 L21L

T31 + L22L

T32

L31LT11 L31L

T21 + L32L

T22 L31L

T31 + L32L

T32 + L33L

T33

⎞⎟⎠

&� � � ��� �� �� A11 = L11LT117 -���� �� � ��� ��� �� ��

�� � ��(���� � $� � ������ ��+7 � � ��� ,2&� � /���� ��� $� ��� �� ������ ������� �� ���� L21 ��� L31 $� � ����( �� ������B���� �� A21 = L21L

T11 ��� A31 = L31L

T11� �� � �� � 7 B�� ��

A22 = L21LT21 + L22L

T22,

��� $ ���� ���� � ��� �� �� L22LT22 �� � �� ��� A22−L21L

T21 ��

��� ������� � �� ��� L22� �������7 L32 ��� $ ���� ���

L32 = (A32 − L31LT21)(L

T22)

−1�

�� � ������� -��7 ��$�B�� $��/ ������ � � ��� �� �� ���$ ������� �� �������7 � ����� $ � � �� � �������+� �� � ��� ��� ��� � ���� �� ��� � �� �� -�� �� � )���/� ��� �� ���� ��� �� � � ��'��5���5��B�� � ��7 -���� �� � � � ����� ����� ��(�� �� �������+� ���

'"'� .��#(0 !.��( ��� (���!�#/

& � �� -�� � 2&3&)6 �>� -�� �� � �7 � $��� ���� �� �� �� � �� �'� ������� �� -�� ��' ����� ��($���� �$���� ��� ��$� � ���� ����� � ���� 1$'�����7 ��� ���� ��' $� ��S$� ����S ����( �'� � ,2&� /���� ��� � �� -�� �'����� ��/ 34�� �3�� .-'�7 ��� -��� ��' ��� ���� �� � ���� � ��� � ��� ��� �� ��� $��/-��� �� � �$��� �� ���� 34� �� ������ ��-������ ����(7 -��� �� ���( � ��� $��/-��� �� � �$��� � � �3� ��� $�����( � ��(� � � ������7 � ������ � ���- ��� � � ���

��

Page 43: A Brief Introduction to Parallel Computing

$ '�� (� ����� � ��� �� �� � 8�� ��� � �'� �� � � ,2&)� :,���� 2���� &�($�� )������� �� ��$�� ���=7 � ��/�( �� �8�� � �$� ��� ������ ��� ��� ���� �� � �������� ����$�� ��� �� ��� ��$� � ���� ����� ��($�� �� ��� G�!7 #"H� ����� ��� (��� � ,2&)� ��D

• ��� ������( ����( �����( �� ��� ���� �(������( ����7

• �'����( �� � � ��� ��� ��� ���� � � �'� � �� ���� ��� �����$$��/�7

• � �$��� � ����� � -�� ���( � ������ �� � ��7 ��������( ������ ��$� � ���� ������ ������� ��� � �(��� ���� ���

�� � ,2&)�7 ��� ���� �� �� � �� �� � -� � ����� E � ��� ��� � �� � ��� �� � � ,2&)� ��� ��� � � ��� �� ��� �F� �� ����� ��� ���(� � �� � ����( �����(� 3����� ��'�'��� � ,2&)� ��� �� �� �(���+� �� -5��������� (���� ��� ��� ���� �� ��� �8� $� � � ������ � �� � (���� �� ��� �7 �� � (�� ������ � Np ����� �� � (��� -��� ��' P �-� ��� Q ������7 -��P · Q = Ng ≤ Np� & ���� ��� $ ������ $� � � ������ � (p, q)7-�� 0 ≤ p < P ��� 0 ≤ q < Q�

�� ,2&)� �'��� � ��� ��� �������� �� �� � (���� 3����� ����������� ����( � �� 5 5 �� �����(� � � �� ���$� �(�5��+ �������� �� :$������ �= -� ��� � ?�� @ -���� ��� $ � �- � ������ � � (���7 � '� � -�� (���� ��'�7 � ������� � ��5������ �� ��� $ �� �'� $� ������ ��( � �� ������ ����-�� �(�G�!H�

����(�� � �� �����#� ����� ���*� ���!� ����*� ����!� ��

����(�� !��*#� !��!#

�� !$J �6�� '

$

� !! ,! �#����/��� �������#�

�/ ������#-�T-.�� �'��

�/ �� �-�T- � �'��

����� $�%:�* � �� �����##�# ;%

�� � $� �����#� ���� �H�

��� �/

� !! ,! �#�#��"��� �������#�

��� �/

��

Page 44: A Brief Introduction to Parallel Computing

$ ��������� (��� #���

!��*#����#T����� !������#���

!��!#!��*#

$ ���� �'� (���

� !! ,! �#�(��� � ������

� !! ,! �#�(�������������%L%�!��*#�!��!#�

� !! ,! �#�(�����/����������*����!�����*�����!�

$ ,�� �� #� �� �������

�/ ������*-�T- �- ��-�����!-�T- �� �'��

� !! �(�,#H�������%�%�% %�H��� �7�

�!#�

� !! �(�,�H�������%�%�% %�H��� �7� � �

��� �/

$

'� �H�. ����)�� !������#�

��� ������ !�� ��$'

�H� ����'

�6� -0$'$�/� �����/� �H���

� !! �(#"�H�������%�%�% %����� �6��7� � �

�/ ������*-�T- �- ��-�����!-�T- �� �'��

����� $�%��#"!� �# %� �6�

��� �/

� !! ,! �#�, �����������%�%�

� !! ,! �#������ �

���� �(��� �� ����(�� � �(��� ��� � �� �� �� ���������� ��7 �-'�7 � �������� �� ������ ��� �� �� � ���� �� ���� ����� ,2&)� �� ���� ���� ����� �� � � ��� �� -��� (��� -�������� ��($��7 � ,2&)� ��� $ ��� � ���+� �� � (���� � � ����5���� �� �� ���� � ����� $ ��� � � �� �'��� '���� � ,2&)�-� �� ��� � $��� � 34�7 �3� ��� '���5 �'��� ����( ���5��( �� ����

�� 3,2&� :3������ ,���� 2���� &�($�� )������� �� ��$ �(����=G��H �� � � � ��� ��$� � '� �5'� �7 �� ���5'� � ��� �� ���5�� ��� 5�� ��� :����(�� � �B�� ��� ,2&�= -� � � ��� � ��� ������( � �������+� �� � ����� ��($�� �(����� �� $���� ��� � 3,2&� �� ��� ��$� �� ���� ���( ��� ��$� � ������ :��� ,2&)� �����=��� � ���+ ,2&)� �� � �������� �� ������ ��� ��� �� (���� �����

��

Page 45: A Brief Introduction to Parallel Computing

� ���� ��� ��$� ��� ��� $ $ ���� $� �� ��� �� � ����( ��/

A =

⎛⎜⎝

A11 . . . A1m���

���Am1 . . . Amm

⎞⎟⎠ ,

-�� ��� ��$$��/ Aij �� nb × nb� ��� $��/� �� �� � �����$� ����(���( Aij � ���� -�� ������ � �� � (��� ��

((i− 1)modP, (j − 1)modQ).

�������7 ���2&3&)6 �� � ��$���� � ��(�5 ������� ����� ��($�� ��5 ��� �� ��� ��$� �5���� ����(5 �����( ���� �� � �� ��� � 5-�/� � � �(��� �� � �� G��H� � �'��� � ��� ���� ����� � ��2&3&)6 �� -�/� � ���7 '� � �� ��� � ��7 ��� �����5���� ��5���� �� � ��� &� 2&3&)6 -�� �'� � $� � ���+��( ����� � ,2&��� ���7 ���2&3&)6 �� $��� � ����� � ,2&)� ��� 3,2&� /�����

�������+��(7 � ����� � � � � �� � $ � �� ���5$��� ������(��(5$��� �������+� �� �� ���� �� �� �� ��� $ ���� � -����������( I��� �� ��� � �� � ������ ��(�� ���� �� � $� ���7 � ���+��( �� ��� ����� $ �$� 8�5 �� � ����5 �������+��� �� �� � �- �'� ��������� �'����$� �� � ����-�� ��� �� �� '����� � ���� ����-�� ���� �� � � (�'� ��(� ��������� � � :�(� ����� ������ ��� ���7 � ��� ��7 ��+� ��� �� ���� �'����� �'�� � ���� �����7 ��=� 9�� ��������( �������+� �� ��� ��� ��( �� $ ��� � � � � � �'����$� ������ �� � ��7 � �'����$��� � ��� ����� � � �'����� � �� � ��( ���� � ��������� $ ��� �� & ��� 7 � $� ����� �� $ 1 ��37 �3�� � ��$��� �� � ��� & � �� ��� $ ��� � ���( ������ �� �� (�-��( ���$� � ��� ��( ��$����� � ����� � � -���� ������ �(���� ��� $ ����$�� �� -�� �� �� � �$�� ��'��(�'����� � �� ��� $ � ��� I��� �� 8�� � ��� ���

# ������ �� $���%�

& �- ���� ��� �� � �� �� � ������ ���� �8� �� � ��( ��� $ ���/�� � $���� � � �$' ������� � � � � � � �� �� ������ ��5 � ��(� �� �'� �� � �� � � ����� � ��� �� ������ �� ��( � � ��������( �� � ��� � ������ �� � ��(� �� �-� ������7-���� �� �$� $�� � � ������ �� -�/� � ���7 �(� � � �����

�!

Page 46: A Brief Introduction to Parallel Computing

����� � �� G!H ��� �� � � � 1 �� ��� & ��� �� ����� � ��� ���&�� G�H7 ��'�' � �� ����� ������ � �� ���� �� ��� � :�(� '� ��� ��� ��� � $����� ���� ��=7 ������� -�� ��+ �� $� � ��� �� �5��� '����� ���� � ������( G!H� J��� � �� ��� �� ������� � �����$� � ��� ��� ��� �� -��� $ ��� � ����� � � ����� � ���(�'� ��� 9��� � �'����$� �� -�� �� :�(� � ���+��( �� ��5��= �� ��((��( $���� � ��'���� �� �� � � ����-��7 ��� �$��� �� ��� ����� �� �'��( ��� �� ����� $ �$� �� � ���� �������+� ������������� �� -�� �� ����� ����������� ���� �� ���� �� � (�'������ � ���

�� ������ ��� ����� ��+ �$��� :-�� �� � ��� �� ���������� ��� � ����� ����( ( �� -� � ����-�� �� �$��� ��=7 -�/� �5 ��� -� � ��� � � ������ ��� (�$�� ����� ���� $�� '�� 5����� & � ��� ��7 ����5 ����� ��/ �� � �� ��' $��� ���� �� ��� � ����$��� � '�� ������( ��� ��� ����� �5��� �� ��� $� ���(��� �����+� �� � �& &��� �������� %��������(�+�� G�%H� ���� ������ � ������ �� ������ �� � ��( ?��� ����� � ������@ & � ��� ��7 � � ��(� �� � ������ �� � ��(7��� �� ��$� �� ��� ������ �� �� � � ���� -� �� �$� �/ ������ �� �����( �>� � ��D � �% �K �� � � ��� )��� $ ��5� ���� � ������ M� ���� 2�$�� �� �� �%%� :O� � �� 3�>� =7 � �%%�K &�)� 3�� � :����� ��( � ��!�� ������= ��� � ���%�� �����,��*�;2 �� � � �� �$� � �/ ������� � ��% �K �� �� �� �������� -��� $ $��� $� �,� ��� ��� ���� �� �%%! �� 2�-��� 2�'���M� ���� 2�$�� �� G��H�

�� � �� � � ���� �8� �� � ��(7 �������+� �� ��� $ '�-� ���� � � �'�� �� �� ����� ����� �� � $� � ��� ����� ��($�� �� -���������� �$'� 1� � �- �'�7 ��(��� ���+� $������( $��/� -����� ��� $ �'� � :�(� ,2&� /����= -� � ���+� �� ����(��� � ����-�� '���� � ��� ������ �>� � ���� �� � &�2&� �>� � ��� $������( $��/� -��� $ ��$��� �� �� -�� ��$����� :�(����2&3&)6=� ��� -��� $ ��� � ���+� �� � �'� �� � �'����� ����(�� �� � ��� �� � � ����� � �$��� :�(� �(���'�� �� �� ������ ��� ��5.��� ��� �� ����7 ������ ��� ��� '����� ������ ���� ���� ���+� �� �$���7 ���( ���� �� � �����( �$���7 ��=�

�� ����� ���� ������ �� � ��7 � ��� $ � � � �� ��������� 1 ��3 -��� ����� � � ������ �� �� -�� -�� ��(7 -��� ����(��( � ����� ��� ��������� �� � ��( ���(��(� ��/ 0�'� -��� �/�� �� ���� � �B���� �'� � I����� �� � ��� �� � ���(� �$���� , � �� � ����� -��� $ ��� �� $������( �� -�� ��$�����7

��

Page 47: A Brief Introduction to Parallel Computing

� -��� $ ��$��� -� � � �� � �� -�� ����� � �� �� '����� ��5$����� ��' ���5��� � ���� ���� �� � ��� �' ��� ���� � � ���������( ����� � �� ��� � ��$� �� ��� $�� � /�-��( �$� -�� ��(�� -�� �� ����� ���� �� � �� �� ��� $� �������� � '� �� ��� �% ���� � ��� ��� ��7 � -��� $ ���$� ����' � ��(� �'� �I����� ��� �'�� ������

�� �� �� �� -��� $ ���(� �� �� �� ���� � �� � ��� � ��� ��$� ����� �'����� � :���� �� ��� 5�5 �5��� �� ��� � ��=� .�7 � ��� ��$� � �� � ��( ��� $��� � ����( �����( �� � �� ��/�� ����� � � ������ �� �� -�� -�� ��( ��� �� ��/ � �3� :-������� '�'� �� �3� � G�H= �� �� ��/�� $ ��� �� � � � 1� ���� � ��� �� -��5� ��� ��� �$��� �� �� ����� ����$� ����5���+� ��7 ��� �F�� ��(� �'�� � I�����7 � � � -�/ �� ������� ����( -��� $ �B����� �� �� ����7 ��� -�/ ��� $ �� ��� �'����� � ��� �� � -���5���/ �$��5��'��( �� �� � �� �� �5 �� �� � ���� �� ���� ��� �������(�� $ -�����( ��( � � ��F� �� �� ����( ��� ��� �� ��� ��;��� � ����-�� ��� ����'��( � �B����;��� �$� ��� �� ��� .-'�7 � �� '�� ��/�� �� ���� �� � � ���� ���( �$��� � �� � �� -� � ��� � � ����� ��� ���� :�� ����� �� ��� � �� � � &�)� �>� � ��� �'� �'��� �� ��� ��� $ ����� � ��= -��� � ��� $ �� �� �� ?$� ����@ -� � ���� �� $��( ����'������� �'� � �� ��� �� ������ �$�� �� �� � ��������( ����-�� ����� � ���

&� �� � ����7 -���� ��� ���-� � (���� ������( �� ������-�� ��� $ ��$� � � � �� 8� ����( ��� ?����@ I�����7 �� � (����9��� � �� ������ -� �� ��� �� � �� � ��( �����(� �� � �� ��:���� ���/ � ��� �� ��/�� $ ���� 7 $� � ��� � ���� ��� ��'� �� �����+� � =7 ������ �� ��� ������ � �� � � ���� �$��� �� '� ��� ��� $�8 ��� � (���5��/ ����� � �� ��� � �'���5�$��� � � ����� �� � � ���� -�� &�� �$�� �� ��� $ ��'����� � ���$� � ��� �'�� ����� :�� � � ���� �� $ -� � �- ������� � ��� � � -�/� ������� �� �� � �� � � (���= ��� ��5 � �� ��� ��� ��/� �� ��� ��� � ��'��$� �� � � �� � � �� �������� �� :� ����� ���� � �� � �� �������� ����� � (��� -���� ���( ���� � �� � � �� �� �� � ��� � = �� � �8�� ������� �� � (���5$��� ��� ��� �� � � ����� ��������( � -�/ $���-�� ���� (�-��( ���� � �'����$� ����� �� � � ���� -�7 � '�� ���(���� � ������ �� �' � ��� ��� :-� � ���( �� ���� ���� �� �,�$����( ������� 8��������� ��'�'� �� ���� F� �=� � ��� $ ����� � �7 �� -��� � ���� � � � ������ -��� $ �'����$� �� �� ��

��

Page 48: A Brief Introduction to Parallel Computing

� �� ��7 ��� �� ��� -��� ����� �� �� �� �� � � � � � ������ ���� �� ��� ��$� � �� � ��(� �� ��� �� � 7 � �� -� � ��5 ����( �� �� ���� �� � ���� � � ���� �� � � ���� -� ���I�����7 � (��� ��� ��'�'� � � � � �����( �� ���(�� �$����'��(� .� � �� ������ �� ���( �$��� -��� ��' � ��� �� � �� ��� ��� $� � ��F�� �� � ��� �� ��� ���7 � �� � � �$����� -�/ -�� � � ����� ���� '� � ������7 -��� �� �� �� ���$ �� ��� -� � � ���� � �� � �� �� �'����� �� ��(��+ ������ �� �� ��� ������ �� ���+ � ��� �� ����� 1� � � �� �� �� ��( �>� � �� ��� (�� �� � M �124J �'����� G�"7 �#7 "�H�

9��� �� � ���� ��� ��� � �� ��� � �� �����+7 � ���(�� �� �� ���7 ������ ��� ��� ��$� � �� � ��( �� �/��( '� � -��� ��� � ��( E � �� �� � �� ��� (�-�

$��������

G�H � D;;---�������;��5�;9$� �;%W�"��U"���7%%�� ���

G�H � D;;---�� �5������(;���;����� ���

G�H &)� ������ �� � �� ��� ���� �� -���� D;;---������(; ���

G�H �� ,-��� 3�>� � � D;;---�$-�����(�

G!H (���� (����� ������������ )������ *���������� ����� �� ��

G�H �� � ��$ � �� ��� � D;;---�� ��$��(�

G�H )������������ %����������� + ,�� -������� ���������� �� (���������� ��������� 7 ��������7 ��� �#"�� �JJJ )� � � ��� � 3����

G"H 1 ��3 ) ��� )TT � ���� �� �(��� �� ������ D;;---� �� ��(7 1� $� �##"�

G#H (���� ������������ .����������� !�������� ����� �� �7 �###�

G�%H 1 ��3 �� ��� � ���� �� �(��� �� ������ D;;---� �� ��(7 M'�$� �%%%�

G��H 0� &����7 9� ,������7 0� ��� ��7 ,� ��� �7 ��� 0� 9�(��� /�����01 2����"� ��� 3���7 �##��

�"

Page 49: A Brief Introduction to Parallel Computing

G��H �� 0� &���� ��� O� O� 1���� � .J3 ���&2D 3������ ���� ���� �(������(� �� 0� �� 6-���/7 �� �7 %����� �(�* ����������324% )������������ � (�� �����������7 ���� �8� )� � � �� �5���7 �(� ���E�!%� ��� 3���7 )��$���(7 �&7 �#"!�

G��H 3� &� � '7 *� ,�/�7 .� )� J�-����7 0� *�����7 *� ���-7 0� 1'�5�� 7 ��� O� '�� � *�>�� 32&3&)6D 3������ ����� ��($�� ��$��������(� '�'�-� �� %��������� �� )��������������05 6�*�!.�77 ���0�7 )&7 M'� �##�� &)� ��*&O). ��� �JJJ�

G��H 3� O� &�� �7 �� ����X7 ��� �� �� ��F� <� � �'� � ,2&� �� ���� �� � ���� ��� � ��� ����� B�� ���� �� 0�52� ����� ��� J� *5��$7 �� ��7 2��� %��������� ���������3 %��������� �� ��� (����������� ) ������� �� 2��� %��������� ���������# �����������#/����# 88+8, ����# 90:07 �(� �#E��7 &�� ����7 �� M ��5�����7 �#"#� M� �5.������

G�!H J� &�����7 Y� ,��7 )� ,�����7 0� ����7 0� ��(����7 0� ��)�+7 &� *��$���7 �� .��������(7 &� ��6���7 �� 1� ����'7��� �� ������ �%��; <����� =���� ��&�7 3������ ���7 �##��

G��H *� ,�/�7 0� *�����7 *� ���-7 ,� O�'��7 ��� O� '�� � *�>��32&3&)6 D .�(� ������� ���(� ��(�5�'� �$� ��� ��� �� %���������� �� ��� 900: (���������� ���������� �� %����� %���������6(�%% �0:77 �(� ���E���7 9�����( � 5 ,������ 5 �/�7 &�(� �##"��JJJ <�&�

G��H �� ,��51� ��� �� 3� �+��/�� & ������ ��(�� �� �� ��'��( � ��5 �� ���� ��� �(� �$��� �� �� .� � ���7 �� ��7 %����������� ��� )(�� ���������� �� %����� %��������� ��� )������>� ����������7 3������ ���7 �##�� ��&��

G�"H �� ,��51� ��� �� 3� �+��/�� & ��� ��'� �� � �� �� ���� 5��� �(� �$��� �������� ������� �������� � 4���������� )��������7 !D"!E#�7 �##"�

G�#H �� ,��51� ��� �� 3� �+��/�� .�(� ������� ��� �� � �� ������ ��� �(� �$��� ?������� ����������7 �"D�#!E�%"7 �##"�

G�%H M� .� �� ,$� J��3&)6D �������� ��$���� �� �(�'��� ��� �(�5'� � ��� ���� 9���59�� 9$ ����� �7 �%%��

G��H 2� ,���/��� ��� )� �%��; <����� =���� ��&�7 3������ ���7�##��

�#

Page 50: A Brief Introduction to Parallel Computing

G��H �� ,�����7 �� �����(��7 ��� 0� �(��� �� ��� ��( ���� �����&2� �� 0� �� �7 )� ���/��(7 ��� 3� 0� �����7 �� ��7 %����������� ��� )���� )��� <����� ����������7 �(� !#E�!7 2�'���7 )&7�##�� 22M2� )1M�5#��%��%�

G��H 9� ,������7 )� *��$�(�7 ��� 0� &����� %��������� =��� ��/����� 0@� ��*��-5.���7 �##%�

G��H �� ,���/�� ���� (��� �� � ��( �-� ��+� ?�����"A���7 0��������D��7 �%%��

G�!H 0� ,�� � *��� � � �� ��� � ��( � � � ����� 8�(� � �� �A��"70������ �%D��7 �%%��

G��H �� )� )���7 0� �7 ��� �� �,��� ���&2 ���D .�(�5 �������� ���� �' �� � ��(� �� %��������� �� ��� 8� (444 ) ������� ��%����� � *��������� %��������� 68� )%*%�0@77 ������7 �##%�

G��H ,� )�� � � ��� �-��� � >�'� �'����� �� �3�� �(���5���(� ������ ?���� �� �������� )������7 ���%D�!#E��"7 �##"�

G�"H .� )����'� ��� 0� ��(����� M ��'D & � -�/5��$�� ��'��� ��'��( �� � � ���� ����� �$���� ��� (���������� -������ �� )������������ ����������� � 2��� %��������� ���������7��:�=D���E���7 ���� �##��

G�#H .� )����'� ��� 0� ��(����� & ����( M ��'�� � -�/5��$����'�� (444 ����������� )������ B 4����������7 !:�=D!�E��7 0���;� � �##"�

G�%H O� )������7 2� ��(��7 �� 6��7 �� ������7 0� �������7 ���O� ���� %����� %��������� �� .����%� ��(�� 6�������3�$������7 ��� ��������7 �%%��

G��H 0� )��7 0� ��(����7 �� 1� ����'7 &� 3 � 7 �� 9��/�7��� O� 9����� 2&3&)6 -�/��( � �%%D & �5 ��� �� � � � ������ $���� ����� ��($�� ��$ �(������ D;;---�� ��$��(;�� ��/;��-��7 ��� �##!�

G��H ,� &� )� ��� ���%%�D & ��$� �� �� �� ��� � ��(� )(�� ?���7��:�=7 �%%��

G��H �� 0� ����X ��� �� �� ��F� �� O��) ,2&�D � $��/� �� ���5 � �� � �'� � ,2&� �� O��) ������� ��� ���������� ����������� )������7 �!:�=D���E��%7 �###�

!%

Page 51: A Brief Introduction to Parallel Computing

G��H 0� 9� ����� ������ ?������� ���� ������� ��&�7 3������5 ���7 �##��

G�!H 0� ��(����� 3������� � '����� �� � � ����( � ������ �������($�� �� -��� � D;;---�� ��$��(;$������/; �������� ��

G��H 0� ��(����7 0� ,�����7 )� ���7 ��� *� � -���� (?%��; <�����=���� ��&�7 3������ ���7 �#�#�

G��H 0� ��(����7 0� ��)�+7 �� ��F7 ��� �� .��������(� & � � �'� �$���� ����� ��($�� ��$ �(����� ��� ����� ���� )����7 ��D�E��7�##%�

G�"H 0� ��(����7 0� ��)�+7 �� .��������(7 ��� O� .����� &� � ���� � �� ��� $���� ����� ��($�� ��$ �(����� ��� ����� ����)����7 ��D�E��7 �#""�

G�#H 0� ��(����7 �� ��F7 �� �����7 ��� .� 4�� �� 4�� � )������ ���� ) ����� �� &����� � )��� ����� ���������� ��&�73������ ���7 �##��

G�%H 0� ��(����7 �� ��F7 �� �����7 ��� .� 4�� �� 4�� � ?������� ���� ������ ��� 2��� %��������� ���������� ��&�7 3������ ���7�##"�

G��H 0� ��(���� ��� %&�3 � <����� =��� � ������� ��� ?�����"�%����� ���������� ��� 3���7 )��$���(7 �##��

G��H 0� ��(����7 �� *�� �'��7 ��� &� 6�� � �� ��� ��( ����� ��($����(�� ��� �� ��� �� ���� � � '� � � ��� ������� )(��!���7 ��D#�E���7 �#"��

G��H 0� ��(���� ��� 2� 0������ ��'��( $���� ��� �� � ������ ������ %����� ���������7 !D��#E���7 �#"��

G��H 0� ��(���� ��� �� 9��/�� �� -�� ��$����� �� ����� ��($�� ��5 � � ��� � ��(� ������� �� � ��� )(�� !�����7 ��D��E"�7�##!�

G�!H 0� 0� ��(���� ��� O� )� 9����� 2&3&)6 -�/��( � #�D & �����(��� � ,2&)� '���� � D;;---�� ��$��(;$����7 ��� �##��

!�

Page 52: A Brief Introduction to Parallel Computing

G��H �� �� ��F7 �� &� .���7 ��� O� 3+� &� '�'�- � � � ��� ,����2���� &�($�� ��$ �(����D �� �- � ������ ��� � ,2&� ���5����� ����� ��� ���������� �� ��������� )������7 �":�=D��#E���7 0�� �%%��

G��H �� )� J���� � 7 �� )� *���/�7 �� .� ����� +7 ��� &� .� �������P�� � ��� �� ��� 3��/�( :P��3= E � D �� ���� ��� ���� (���-� ?����� ����� �� 4���7 �"D���!E��!�7 �#"��

G�"H O� J/�����7 6� )�����7 0� ,�����(���7 ��� 2� ���F�� � !������ ��� )���� ��� 4������������� (������������ �J�� 3���7 �%%��

G�#H &� ������� 034�D M -�/ ������ �� � ��( �� >�'�� ���������� 3%������ � 4���������7 �%7 �##"�

G!%H �� ������ �� �� � � �(���+� ��� ��� ��� F� �'���� (444����� �������7 )E��D#�7 �#���

G!�H �� �� � ��� )� 6������� *�$��D & � ��� � ��( ������ ��� �� �/� � ��� (���������� -����� �� )������������ ����������� �2��� %��������� ���������7 ��:�=D��!E��"7 ����� �##��

G!�H 6� *����'��7 �� .� �7 J� M(7 0� 1� (�7 ,� 3� �7 O� 3�����7)� O���7 &� ����7 ��� O� 4�(� � %����� ���������� ��� ����������������� ��&�7 3������ ���7 �##��

G!�H ,� *��$-7 0� ,��7 0� ��(����7 ��� )� ���� ����� 4������ �����!������� + 4()%��; =��� 4��������� 2� �� M � �� )� � ������� � ���(�54���(7 M- P�/7 �#���

G!�H *�(7 &� ��� M(7 J� �3&O�3&6 D 9� �� � ��� �� ��� ��/�(?<���� *���@ �� �3&O�3&65,� O����� O � )�5"�5��7 � �� )� � � �����7 <��'� � 9� ��7 �#"��

G!!H 9� *� ��� J� 2��/� � <����� =��� ��� �����# %������ (������������� �� �%( ������� 9�8�@�

G!�H 0� O� *���� �� ������ � �� �K- ������� �� �� �� ��F ���0� 6� O��7 �� ��7 &����� � %����� %��������� �� �����������)������7 �(� �#E��� M� �5.�����7 �#"!� )� � � 3������ )�5������ ��� �� �5� �#"!�

G!�H 0� *�� ����� O'���� ��( &������� ��-� ����� ���7 ��D!��E!��7�#""�

!�

Page 53: A Brief Introduction to Parallel Computing

G!"H 0� *�� ����7 *� �� ��7 ��� O� ,���� �'� �� � ������� ��� �� � �%��5 ����� �� ���$� )(�� -� )��� )��� �������7#D�%#E��"7 �#""�

G!#H �� *� *�� �'��� M- (�����+� �� � � ��� ��� �� �� ���� ��� � '��� � � ��(� ������� ��(�� ���� ������ ?���� �� ��������)������7 ���"D��"E���7 �%%��

G�%H �� *� *�� �'��� 9�� ��( �� ��� ��� �� ��� �& &��� ��������� %������7 �$�����D��7 ��7 �%%��

G��H �� Y� *��� ��� )� 2��� &� ��� � �� ���(��( �� ���+��( �� -����$������ ��� )(=% �? ?������7 �!:�=D�#E!�7 0��� �%%%�

G��H �� .���� & ���'� � ������ ��(�� ��� �� �������� ����� ��($���)(�� !�����7 �%D��%E���7 �#�"�

G��H M� 0� .�(���� ������ � )������ �� ?������� ����������� ��&�73������ ���7 �##��

G��H 3� .���� �� *�����( '� ������ ?�����"A���7 �:�=D��7 �%%��

G�!H O� .�/�� ��� )� 0��� � %����� ���������3 ������������# %���������� � ����������� &��� .��(� 2 ��7 ,��� �7 �#"��

G��H J� M� .�� ��7 0� O� O��7 M� 3� )���������7 .� )� 6��� �������73� M� 3� �����7 �� 6� ����� �+�7 J� &� 4�'����7 6� P� 9��(7 ����� 9��-������ J223&)6D & �������� ������ �� �(������(�'����� �� ������ ���� �������� �� %��������� 900@ (����������� ���������� �� )�������������# ��� )(=�!�2 �������������������� ?���7 �(� #�E�%�7 � � �##%� 3�$����� �� 3�����(��##% �� ��� ���� )����� � �� ��� � ��(7 &)� ��*&O).)� � � &���� � �� M-�7 '��� �"7 ���$� ��

G��H )� �� 0�� *���5�� � ����� ��� ?�����"A���7 0�� �D��7 ���

G�"H )� 6�$�7 �� 2'���7 O� �����$�7 *� �� 0�7 ��� �� Y��� ���2��� %��������� /����� 2����"� ��� 3���7 �##��

G�#H �� 6��/� )�������� �� ��������� � ������������ 9���7 M- P�/7�#�"�

G�%H �� 2�/����'������ ��� �� 6� ������ ��� ��� � *����� �� %���������������3 ������ � ����� %�������� ��*��-5.���7 M- P�/7�##%� A���

!�

Page 54: A Brief Introduction to Parallel Computing

G��H )� 2�-��7 O� .����7 �� 6������7 ��� �� 6�(�� ,���� ����� ��($����$ �(���� �� �� ��� ���(� ��� ����� ���� )����7 !D�%"E��#7�#�#�

G��H )� �� ������� *��� '���� ��( �� �� � ���� ���� ?�����"�A���7 0������ ��D��7 �%%��

G��H �� � ���� ��� 0� O��� /����� 0@C01 4������� 1���� <��'��� �3���7 �###�

G��H 0� ���� %����� ���������� � ����� ����������� 1���� <��5'��� � 3���7 1����7 �#""�

G�!H �� ���(�'� )� � ��� ���� ��� ( � ��'���� A�������� %���7���$�7 �%DJ%�7 �%%��

G��H 0� 1� (� ��� O� 4�(� � )������� �� %���� *�D������ 4������� ��&����� � %����� ���������� ��&�7 3������ ���7 �#"!�

G��H 3� 3����� %����� %��������� ���� �%(� ��(�� 6�������7 ����������7 �##��

G�"H �� 3� �+��/�� 3������ �� ��� ��� � ���� �� 5 ��� - ���� ��� ���(�-C �2%� ?���������7 �:�=D!!E!#7 �##��

G�#H �� 3� �+��/� ��� )� )� ���� *������� ������ �� � ���� �5� ��2%� ?���������7 �:�=D��E"�7 �##��

G"%H �� 3� �+��/� ��� )� )� ���� ��� � ����( �� ���� � � ���� 5 ��� ���� ������� ���� �2%� ?���������7 �:�=D��E��7 �##��

G"�H �� 3� �+��/�7 .� . 7 ��� �� 3 �'�� 3������ ������� � ����� ��� �� ��'�� �� �� *��$� ���7 �� ��7 ��� )��� )������>������������ �� 4���������� � 4����������� %�������7 �(� ��%E��"7 �##"�

G"�H �� 3� �+��/�7 �� 2��/'7 ��� �� ���(�'� 3������ ��� �� � ����� �� ��� � ������ (�� ���� �� ��� � ��� �� P� 3�� ���7 ��5 ��7 %��������� �� ��� 9@�� (���������� ���������� �� %����� �*��������� ��������� � ) �����7 �(� !�!E!"%� �&��J�;&)�&3���7 �##"�

G"�H �� 3� �+��/�7 �� 2��/'7 �� ���(�'7 ��� O� 1-��� & ��������� ������ �� ��� � �� � $��/5�������� ����� ����� ��

!�

Page 55: A Brief Introduction to Parallel Computing

�� *��$� ���7 �� ��7 ��� )��� )������>� ����������� �� 4����������� � 4����������� %�������7 �(� ��#E���7 �##"�

G"�H �� 3� �+��/� ��� 3� � ��+�Z�/�� 3������ ��� �� � ����� ���������� ��� E� ������ ���� �����7 ��:��=D!E"7 �##��

G"!H �� 3� �+��/� ��� 0� Y��-�/�� 3������ �� � ��( �� &��D &� '�'�-��� ��� �B�� � ������7 ��D��E��7 �##��

G"�H 0� �� 3���/7 .� )����'�7 �� ,�/7 ��� 0� 0� ��(����� � ����(���� 5 ����� ��� ��/ ��(�� �� -� � M ��'� /����� =���������������� ) �����7 �!:!E�=D��!E�!!7 1� � �###�

G"�H �� �� O���-��7 *� ,-(�7 ��� �� 4� �� ,�(�� .�(� ������������ ��($�� � � &�� �&3 !�%� �� *� O���(�7 �� �7 %���������� �� ��� F� ���������� �� %����� %��������� ��� )������>����������7 �(� �!E�#7 3������ ���7 3&7 <�&7 ��� �#"#� ��&�3�$�������

G""H 6� O(��� <���� (� -�� 3)� ��' �� �5����� (��� � -�/�� D;;---� ��� �����; ��;� ��;�%��%�� ���

G"#H 0� O� O��� J�� ��/ �� ����� (���� �������� O � )��E�O ���73���� <��'��� �7 9� 2���� 7 �M7 �#�"�

G#%H ,� �� ��� �7 0� �� ,��7 0� 0� ��(����7 ,� �� *��$-7 P� �/$7 4� )�6���7 ��� )� ,� ���� ����� 4����� ���� !������� 3 4()%��;=���7 '��� � � ������ ?���� �� �������� )������� � ���(�54���(7 �#���

G#�H 3� � ��+�Z�/�� & �- ����( �����( ��(�� �� �� ��'��( ������������ ��� ��� ������ ?���� �� �������� )������7 ���"D���E���7�%%��

G#�H 3� � ��+�Z�/� ��� �� 3� �+��/�� ����� '� ��+� ��'� �� ������������ ��� �� -� � ��� �� �I��� �� �� %��������� �� &4��%�! 8@@@ + ,�� (���������� ������� �� &����� � %����� %����������# %����# -��� 8@@@7 �(� !��E!!�� ����� �� � J�(������ �<��'������ � 3� 7 �%%%�

G#�H �� 6� ��� � �$� $�� �� (��� �� � ��( ���� �A��"7 �$����� �D��7�%%��

!!

Page 56: A Brief Introduction to Parallel Computing

G#�H 2� M� ��� �� ��� �� ,��� ?������� ���� ������� ��&�73������ ���7 �##��

G#!H O� &� '�� � *�>�� <���� % �%��;3 %����� ���� ������ %�"������� �8� ��� J�(�����( )� � ��(� ��� 3���7 )��$���(7 �&7�##��

G#�H O� &� '�� � *�>� ��� 0� 1'��� � &�'���� ����� ��($�� $>� ���� ��� ��� �� O� &� '�� � *�>�7 �� �7 <���� % �%��;3 %����� ���� ������ %�"��7 ���� �8� ��� J�(�����( )� � ��(7 �(���E!�� ��� 3���7 )��$���(7 �&7 �##�� )�� � ��

G#�H )� 4�� 2��� ����������� /������"� ��� ��� /�� /������ ���������� ��&�7 3������ ���7 �##��

G#"H O� )� 9����� 2&3&)6 -�/��( � ��D ,���� ����� �������� ����($�� ��$ �(����D &������� ��� �� ��� � �� ����� ��� � � ������ ����� � ���� � D;;---�� ��$��(;$����7 0�� �##��

G##H O� )� 9����7 &� 3 � 7 ��� 0� 0� ��(����� &� �� � � ������ ���+� ��� � �� -�� ��� � &�2&� �>� � %����� ���������7��D�E�!7 �%%��

G�%%H �� 9��� 2��� %��������� ��������� ��� %����� ����������&�����E9���7 �##��

G�%�H .� Y���� )������������� ��� %����� � &����� ���������� &)�3���7 �##%�

G�%�H Y� Y�� '7 0� 9����-�/�7 ��� 6� ������$��(� G98� �������� �� ����� ����� � ����� �� ����� ������� ��������3 ����������� �� ������������7 '��� ��� � ������ ?���� �� �������� )������� � ���(�54���( ����7 M- P�/7 MP7 <�&7 �#"��

!�