diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · prebúsqueda hardware, soporte para...
TRANSCRIPT
![Page 1: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/1.jpg)
UNIVERSIDAD DE ZARAGOZA
Tesis Doctoral
Prebúsqueda Hardware, Soporte para Reducción, y
Almacenamiento de Estado Especulativo en
Multiprocesadores de Memoria Compartida.
Autor: María Jesús Garzarán Arnau Directores: Dr. D. Víctor Viñals Yúfera Dr. D. José María Llabería Griñó Dr. D. Josep Torrellas Jovaní
gaZ CENTRO POLITECNICO
SUPERIOR DEPARTAMENTO DE
INFORMATICA E INGENIERIA DE SISTEMAS
GRUPO DE ARQUITECTURA DE COMPUTADORES DE
ZARAGOZA
![Page 2: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/2.jpg)
Prebúsqueda Hardware, Soporte para Reducción, y
Almacenamiento de Estado Especulativo en
Multiprocesadores de Memoria Compartida
Memoria presentada para optar al grado de
Doctora Ingeniera en Informática por
Doña María Jesús Garzarán Arnau
Departamento de Informática e Ingeniería de Sistemas
Universidad de Zaragoza Marzo de 2002
Dirigida por
Dr. D. Víctor Viñals Yúfera
Dr. D. José María Llabería Griñó Dr. D. Josep Torrellas Jovaní
Departamento de Informática e Ingeniería de Sistemas
Universidad de Zaragoza
![Page 3: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/3.jpg)
A mis padres Santiago y Angeles, y a mis hermanos.
![Page 4: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/4.jpg)
�������������
����� �� � � �� � ��� �� ����� �� ������ �������� ��� ����� � ������ ��� � ������ �������
������ ������ ��� �� �� ��� ����������� ���� �� � ������������ ��� ���� ����� �� ��
���� �� ���� ����� ���� ������ �!����� ��� ����� !��� ���� � ��������� "� ��� �����
!��� ����� �� ���� ���� �� ��� �� ��� ���� �� �� ��� ����� �������� � ������ ��
���� �� ���������� � ��� ���� �� ����� ����� #������ ��� ������� �� � ���� �� ���� ��
$�!���%&�������� ��� ��� � �������� ���� � ���� �� ���� ������ '����� ������ �� �
�� ���� ��� ��� ��� ����� �������� ! � ��� ��� ����� ��������� ��� �����������
� �� ��� ���� ������ �� � ��� ���!��� �� ��� �%(&)�( ��� � �� $�!���%
&�������� ��� �� ����� �� �� ��� ��������� �� ��� � �� *�����+�� � �������� �����
���� ,�� ���� �� ����%���� � ���� �� ���� �� ������- � ��� ���� �������� ���� �%
����� ���� ���� '����� ������ ��� �� ����� ��������+ ��� � ��� ���� ��������� "� ���
����� !��� ��� �� �� ��������� � ������ �� ������� ����� �� .��+ ��� ,�!� �!�����+
���� ��� !��� ���� � �������� � ���� � ����� ������ #��� ����� �� ���� ��� ������
���� �� �������� �������� ��� ���� ������� ���� �������
#����� ��� �� �� ������� ,�!� � �� '���� ��� ������ (������ #��� ���� !���
�� � ���� ������� ��� ���� ����� ������� �� �� ��� �/���� ����� ���� � ��� ���
������ ������ �� �� �� ��� � ��� � ����� �� ��� ����� ���
����� � ���� �� ����� �� ������� �� !������� ��� ����� ����� ��� ��� ���� �� ��
������ � �������� ��� ���� �� � ����� ��� ����� �� �� ������� ��� !�������� � �� � ���
���� ���� �� ����� � ����� ��� ��� � ������
#��� ���� ��� !��� � ������� �� ���� !� ��� �������� �� 0� ������ �� '���� ����
��������� #�& 1223%4511%&46%46 ��� #�& 6441%4225%&46%46- 7������ '������ �� �������
���� ������ &&8%29:;;91� (&�%239616< 0�(%2295413 &&8%2294;33� 0�(%4431:49
��� 0�(%4496146- ��� !� ����� ���� �.� ���� ��� "�����%,�������
![Page 5: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/5.jpg)
![Page 6: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/6.jpg)
��������
� ���������� �
1�1 ���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1
1�1�1 "������� ,������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � ;
1�1�6 ,�����+��� 8�� ������ � � � � � � � � � � � � � � � � � � � � � � � � � 5
1�1�: '���� . /����� �� '��� ����� #�����% ��� ,�����+����� � � � � � <
1�6 #����� &�����! ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 3
1�: #����� )�����+����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 2
� � ����� �� � ���� ��� ��
6�1 ������ ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 19
6�6 ���� ��� ,������� ��� 0����������� '�� � � � � � � � � � � � � � � � � � � 12
6�6�1 ���� ��� ,������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � 12
6�6�6 =������ ��� ���������� � � � � � � � � � � � � � � � � � � � � � � � 6:
6�: ,������ >�����! ���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 6:
6�; '�? ���� ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 69
6�5 ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 62
� � ��� �� ������� � ����� ��� ������������� ��
:�1 ������ ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ::
:�6 8����� =��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � :;
:�: 0����������� '�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � :9
:�:�1 '����� ���� �������� � � � � � � � � � � � � � � � � � � � � � � � � � � � :3
:�:�6 =������ ��� ���������� � � � � � � � � � � � � � � � � � � � � � � � ;4
�
![Page 7: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/7.jpg)
:�; ,���������� ���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ;4
:�5 0�� ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ;6
:�5�1 .��� '����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ;6
:�5�6 >��� ����� �� ,���������� (���������� � � � � � � � � � � � � � � � � � ;6
:�< ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ;3
� ������� ��� � � ���� ������� � � � ��� �� ������!��" �����
��������� #�
;�1 ������ ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 5:
;�6 ,�����+����� �� 8�� ������ �� '������� � � � � � � � � � � � � � � � � � � � � 55
;�6�1 .������ �� &������� � � � � � � � � � � � � � � � � � � � � � � � � � � 55
;�6�6 ,�����+��� 8�� ������ � � � � � � � � � � � � � � � � � � � � � � � � � 5<
;�6�: >���!���� �� '���!� � ������������ � � � � � � � � � � � � � � � � � 53
;�: ,������ &����% ��� 8�� ����� @,& 8A � � � � � � � � � � � � � � � � � � � � � 53
;�:�1 )������� �� ,& 8 � � � � � � � � � � � � � � � � � � � � � � � � � � � � 52
;�:�6 ������������� �� ,& 8 � � � � � � � � � � � � � � � � � � � � � � � � <4
;�:�: ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � <<
;�; 0�� ����� ���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � <9
;�;�1 '�� ����� 0���������� � � � � � � � � � � � � � � � � � � � � � � � � � <9
;�;�6 (���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � <3
;�5 0�� ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � <2
;�5�1 ������ �� ,& 8 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � <2
;�5�6 '���!���� �� ,& 8 � � � � � � � � � � � � � � � � � � � � � � � � � � � 96
;�5�: ������ �� �,%$��� '���� � � � � � � � � � � � � � � � � � � � � � � � � 96
;�< (�������� $�� �� ,& 8 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 9:
;�<�1 >������ ��� �� � (��������� �� '������� � � � � � � � � � � � � � 9:
;�<�6 $���� ,& 8 ��� ��� �� � (��������� � � � � � � � � � � � � � � � � 9;
;�<�: (������� ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � 95
;�9 8����� =��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 99
;�3 ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 99
![Page 8: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/8.jpg)
# $� ���%� � �� �� ��%���& ��� ����� �'� $��� ��(�'�� � � ����� ��� )�
5�1 ������ ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 3:
5�6 . /����� '���� $���� '��� ����� ,�����+����� � � � � � � � � � � � � � � � 35
5�6�1 .����� �� '��� ����� ,�����+����� � � � � � � � � � � � � � � � � � � 35
5�6�6 &������� �� . /����� '���� � � � � � � � � � � � � � � � � � � � � � � 33
5�6�: (��������� .������ � � � � � � � � � � � � � � � � � � � � � � � � � � � 24
5�6�; (����� �� 8������� ��� ���������� � � � � � � � � � � � � � � � � � 26
5�: #�B����� �� (��������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � 2:
5�:�1 '��� ����� '���� &���������� � � � � � � � � � � � � � � � � � � � � � 2:
5�:�6 7��� #�B����� �� (��������� � � � � � � � � � � � � � � � � � � � � � 2;
5�:�: ������� ,������� '������ �� ��� #�B����� � � � � � � � � � � � � � 25
5�; ������������� ��� �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 22
5�;�1 ����������� � >�����! ��� �8). � � � � � � � � � � � � � � � � � � 22
5�;�6 ����������� � >�����! ��� �". � � � � � � � � � � � � � � � � � � � 144
5�;�: )��������� #� ' ����� �� � >�����! ��� �8). ��� �". � � � � � � 14:
5�5 #�����/ (������ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 14;
5�5�1 (�������� �� �� � � �� ���� ������ � � � � � � � � � � � � � � � � � 14;
5�5�6 '���� �� � ���� '��� ����� #���� C �������� ��� ,�������� � � � 149
5�5�: 0���� �� �+� ������� ���� ���� ������ '���� � � � � � � � � � � � 142
5�< 0�� ����� ���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 11:
5�<�1 '�� ����� 0���������� � � � � � � � � � � � � � � � � � � � � � � � � � 11:
5�<�6 (���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 11;
5�9 0�� ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 11<
5�9�1 '���� �� � ���� '��� ����� #����D�������� ��� ,�������� � � � � � 11<
5�9�6 0���� �� �+� ������� ���� ���� ������ '���� � � � � � � � � � � � 119
5�9�: (�������� �� �� � � �� ���� ������ '����� � � � � � � � � � � � � 112
5�9�; ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 161
5�3 &��� ���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 161
* ����� �� ��%���& +���� ����� �'� $��� ��(�'�� � � ����� ��� ���
![Page 9: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/9.jpg)
<�1 ������ ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 169
<�6 '��� ����� ,������ $��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � 162
<�: )������� �� ��� "������ . /�� )�������� � � � � � � � � � � � � � � � � � � � 1:4
<�; 0����� '������� ������������� � � � � � � � � � � � � � � � � � � � � � � � 1:1
<�;�1 (�������� ��� #���%�>� �� '������� � � � � � � � � � � � � � � � � � 1:6
<�;�6 &������ #���%�>� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1:;
<�;�: E ��������� ��������� )�������� � � � � � � � � � � � � � � � � � � � � 1:;
<�;�; �������� ��� ����� '���� � � � � � � � � � � � � � � � � � � � � � � � � � 1:<
<�;�5 0B����� ���� ���� 7��� �� .� . /���� � � � � � � � � � � � � � � � 1:2
<�;�< )���� ��� �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;4
<�;�9 &������ ����������� � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;1
<�;�3 "�������%��������� '� ���� � � � � � � � � � � � � � � � � � � � � � � � 1;:
<�5 0�� ����� ���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;;
<�5�1 '�� ����� 0���������� � � � � � � � � � � � � � � � � � � � � � � � � � 1;;
<�5�6 (���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;5
<�< 0�� ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;<
<�<�1 ������ �� '������� . /����� �� 0B�� ���� #��� � � � � � � � � � � � 1;9
<�<�6 ������������� )�������� �� (������� . /����� � � � � � � � � � � 1;3
<�<�: (��������� >������ ��� '������� ������ � � � � � � � � � � � � � � � 154
<�9 ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 15;
� ��������� �� ,����� -��. �#�
9�1 &��� ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 159
9�1�1 "������� ,������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � 159
9�1�6 ,�����+��� 8�� ������ � � � � � � � � � � � � � � � � � � � � � � � � � 152
9�1�: '���� . /����� �� '��� ����� #�����% ��� ,�����+����� � � � � � 1<4
9�6 � � �� =��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1<1
/�����0 /1 ����� ��� ������� ��� ����$2�3 � �" ,�� �"���!� �*�
/�����0 �1 4������� �� ��� /��� ���� ��#
![Page 10: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/10.jpg)
/�����0 �1 50 !��� �� ���� ����$2�3 ������! �� ���
�������� ��6
![Page 11: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/11.jpg)
![Page 12: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/12.jpg)
���� � ��� ��
6�1 '����� ������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 61
6�6 '����� ������ ������ ���� ��� ������� � � � � � � � � � � � � � � � � � � � 61
6�: .�������� �� ������� ������! ���� ��� 1< ���������� � � � � � � � � � � � � � 6;
6�; .�������� �� ������� ������! ���� ��� &������ ��� 8���B @1%:6 ����������A 65
6�5 0/��� �� �������� ��� F��� ����� ���� �� ���� ��? ���� � � � � � � � � � � � 69
6�< &������ �� ��? ���� ����� ���� ��� � �!�� �� ����������� � � � � � � � � � 62
:�1 .��� ������ ��� ��� ��������� ����������� ������? ��� � � � � � � � � � � � :3
:�6 ,���������� ����� >����� ��� �������� ���� ������ ��� ������ � � � � � � ;1
:�: '���� � #� ��� .$ ��� � �!�� �� ���������� ��� ��� .��� ������ � � � � � ;:
:�; >����� ��� �������� ���� ������ � � � � � � � � � � � � � � � � � � � � � � � � ;5
;�1 ��� ���� ���� ��� G�� ������������ � � � � � � � � � � � � � � � � � � � � � 55
;�6 ��� ���� � ��� ����� ���������� � � � � � � � � � � � � � � � � � � � � � � � 5<
;�: &��� ��� ���� ���� ������+��� ��� ��� �� ��� �� ;�6� � � � � � � � � � � � 59
;�; 8������������� �� ��� ,& 8 ������ � � � � � � � � � � � � � � � � � � � � � � 52
;�5 ,�����+�� ��� ����� ���� ���� ,& 8� � � � � � � � � � � � � � � � � � � � <4
;�< &��� ���� � ���� ����� ����� �� ���� ��� ��������� ���!��� � � � � � � � � <5
;�9 0B�� ���� ���� ���� ��/����� ������� ��� � 1<%���� � ����������� � � � � 94
;�3 '���� �� �������� !� ��� ��/����� ���������� @�������� ����A� � � � � � 96
;�2 &�������� ��� ����������� ���� G������%����� ���� �� ��/����� ���? ������� 9:
;�14 ��� �� !� ������+�� ���� �������+����� ��� ������� ��� �� � ������%
����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 9;
���
![Page 13: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/13.jpg)
;�11 &��� ��� ���� ���� ������+��� ��� ��� �� ��� �� ;�14 ���� ������� ���
�� � ����������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 95
;�16 ,�����+�� ��� ����� ���� ���� ������� ��� �� � ���������� ����
,& 8� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 9<
5�1 '����� ����� �B�� ���� ���� ���� ����� �B�� ����� � � � � � � � � � � � � � 3<
5�6 � ���� �������� �� ��� ���� �����!� �� ��� ������ � � � � � � � � � � � � � 32
5�: &���� ������� �������� �� ��/����� ����� ��� ��������� � � � � � � � � � � � � 32
5�; � ���� ��� ���� ����� ��������� ��� �������� ��� ���%��� ��������� � � 24
5�5 0B����� �� ���%����+�!� ���� ���� �����%�������+����� ������ �������� 26
5�< '��� ����� '���� &���������� � � � � � � � � � � � � � � � � � � � � � � � � � 2:
5�9 #�B����� �� ���������� �� ������ � ��%������� ���� ����� ����� � � � � � 2;
5�3 ������� ������� ��� ���� ����� ������+����� ���� � � ��B����� � � � � � 2<
5�2 ����������� � ������! ��� �8).� � � � � � � � � � � � � � � � � � � � � � � 144
5�14 >��� ��� �� �� ������+����� ����� ���%��� �������� ��� ��������� � � � � � 141
5�11 ����������� � >�����! ��� �".� � � � � � � � � � � � � � � � � � � � � � � � 146
5�16 0B���� �� ����� �B�� ���� ���� '����# � ��#C'� ��� � ��#C�� � 143
5�1: ,������� �� ��� �B�� ���� ��� ������ ���������� ��� � �+� (��D���
������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 142
5�1; ,������� �� ��� �B�� ���� ��� ������ ���������� �� ��/����� �������H �����
(�� �+� (�� ���� ���� ����� (�� ���� ���� ��� ����� ��� � � � 114
5�15 (��������� ��������������� ���� ���� ����������� �� ���� ��������� � � � � 116
5�1< 0/��� �� � �������� ����� �� � ���� ���� ����� ����� �� �������� ���
���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 119
5�19 0/��� �� � �������� ����� �� �+� ������� ���� ���� ������ ������ � � � � 113
5�13 0/��� �� ������ � ����� ��� ����� �� �+� ������� ���� ���� ������ ������ 112
5�12 0/��� �� � �������� �� ��������� �� �� � � � �� ���� ������ ������� � � � 164
<�1 ,��%��������� ��� �� ��� ���� �� �� ��� ��� ������� ! /��� � � � � � � � � � � 1:4
<�6 '����� ������� �� ������ ����%�>� ���� �������� ��� (������ #���������
��� �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1::
<�: ����� ������ ����� !����� � ���� ����� ������ � � � � � � � � � � � � � � � � � 1:5
![Page 14: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/14.jpg)
<�; '����� �� ��� ����� . ��� ���%���� ����� ! � ���� �� !� ! /����� � � � � � 1:<
<�5 �������� F��� ������ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1:9
<�< 0��������� ��� !������� ���� ��� �� �� ����������� � � � � � � � � � � � � � 1:3
<�9 0B���� ���� ��� ��� � �� ����������%! /���� ������������ � � � � � � � � 1;6
<�3 0B�� ���� ���� ���� ��/����� ������� ��� � 1<%���� � ������������ � � � 1;9
<�2 .�������� �� ������� ������� � � � � � � � � � � � � � � � � � � � � � � � � � 1;2
<�14 0/��� �� ���������� F���%����� F������� � � � � � � � � � � � � � � � � � � � � 151
<�11 0/��� �� �� �������� ��� 1 ����� !�������� ��� ���� � � � � � � � � � � � 156
<�16 &�������� F������ ���� ���� �>� �� F������ ���� �B������ ����� � � � � � 15:
9�1 '����� ������ �� #���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1<:
9�6 (������ ������� ��� �� � � � � � � � � � � � � � � � � � � � � � � � � � � � 1<<
9�: ,��%��������� ��� �� ��� ��? ���� ��� ��� ������ "������ . /��� � � � � � � 1<9
9�; ����F������� ��? ���� �� � >'� ������� �� � ����� ��� ������� ���� %
����� �������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1<3
9�5 ��� ��� "��� �������� ��� ��� ���� ����� ������� � � � � � � � � � � � � 1<2
9�< 8������� �� �� � �%��%����� 8(= ���������� ����������� � � � � � � � � � � � 19:
9�9 0B���� ����� � ��#C'� �� ����� ���� '����#� � � � � � � � � � � � � � � 199
![Page 15: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/15.jpg)
![Page 16: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/16.jpg)
���� � ������
6�1 (����� �������� ����������� � � � � � � � � � � � � � � � � � � � � � � � � � � � 66
6�6 0�� ���� � !��� �� ', ('"%6 � � � � � � � � � � � � � � � � � � � � � � � � � 6:
6�: >������� ��? ���� ����� ��� ��/����� ������ �������� � � � � � � � � � � � � 63
:�1 .���� ���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � :2
:�6 '������ ����� ��+�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ;4
:�: 1 ������ ���� ������ �� ���� ��� ��� .��� ������� � � � � � � � � � � � � � ;;
:�; '���� �� �� &� ��� &�� ��� #� ������� �� ��� .��� '����� � � � � � � ;9
;�1 (�������� �� ��������������� �� ��� ������ &&%7$�(� � � � � � � � � � � <9
;�6 (��������� ��������������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � <3
;�: ���� G ���� �� �������� �� ���� ���� ��� ����� ���������� � � � � � � � � 91
5�1 (��������� ��������������� ���� � ������ ��� ��� ���� �� ! /������ � � � � 21
5�6 (��������� ��������������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � 115
5�: E �������� ��������������� �� ��� (����������� � � � � � � � � � � � � � � � � 11<
<�1 (���������� ��������������� � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;<
<�6 "������ ! /�� ���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;2
<�: 0/��� �� ���� �>� ���� �� ��� 1 ���� ����� � � � � � � � � � � � � � � � � � � 154
9�1 "�� �� ����� ����������� !������ ������ � � � � � � � � � � � � � � � � � � 191
B�
![Page 17: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/17.jpg)
![Page 18: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/18.jpg)
������ �
��� ��������
#�� �����B� ���� ��!����� � ��� �������� ��������� �� ���� ������ �� � �����������
�� ��� ��!��" ��������������
������� � � �� ���� �� ������ ���� �� ������� �� ��� ����� �� �����
���� ��� ���� ��� ���� ������ �� �� ��� ���� ����� ����� ��� ����� ���� ��
����� ��� ��� ���� �� ������ ��� ��������� �� ������ ��� �� �������
����� ��� ��������� �� ���������� ����� ������� ��� ������ � ����� �� � �� �����
�� �� � �� �� ���� ������� �� ������! "#�$%&�
��� ����������
'����� ������ � ������������ �/�� ��� ���������� � ����� ������ ������� ����� ����
� ��� ���������� ������ ,��������� ���� ������ ���� �� ������ �����!�� �� ������
���� � ���������� ����!� �� ��������� ��� ������ ������� ��� ���� ��� ������� =���
������ ������ ����� ���������� ������� �� ����� ���� ���� �� ���������� ���� ���������
������ ����� #� � ���� ������� �� � ������� ���� � ����� ������� ����� � ��������
��������� ��� ���������+����� �� ��������� )�� �������� �� �� �� ������ ����%������
����� ������ ��������� �� ��� �����!��� =��� ���� ��� � ��������� ��� ����� ��� �������
������� ��� ��� ����� ���������� ���������� �� ��� ������ ���� � �� ���� ��� ��� ������
��������� ����� ��� �����!��
'����� ������ � ������������ ��� ���� ��� ��/����� ������+������� �� ��� F��� ���
���������� ��� ������ ��� ��������� ���� �� �� �������� ��������������� ������� ����%
��� � ������ ! � ��� ���� ������ �� �������� �������+��� �� ��� ������ ��� ������
�� �������� ������! ��� �� ����� ���������� ��� �� ���� ���������� ��� ����� ����� ���
��������� ���� �� � ������ ��������������� ������� ��� � ���� �� � ������ !�� >��%
1
![Page 19: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/19.jpg)
Chapter 1. Introduction
���! ��� ������ � ������������ ��� � �� ���� >'� @>�����! ��� '����� ������A
�������� I7(.�25J �� &&%7$�(@&����%&������� 7�� $������ ������ (�����A ��%
������ I'�K26J� �� ���� ���� �� �� �� ��� ��� ����� ������������ �� !��� ������+������
������ ��� ��� �� ��� �� ��� ������ ������ ��� �������� ��� ��������� ���+������ #���
��� ���� �������� !� ����� �� ��������� ��������H ������ �������� �� ��� F��� ���� ���
���������%!���� �������� �� ��� ������ ���� �� ��� ! �%!���� ������+����� ��� ! � �����
��� !�������� �� ������ ��� ������� #� � ���� ������+����� ���� ��� ���� �� ��� � �%
!�� �� ���������� �������� ���� �� �� ���� �B������� �������� ��� � ������� ��������
�� �����!���� �� ��� ������ ������+����� ��� ������ �� ������! ��� ��� ��� ������
!�������� ����� �� ��� � �!�� �� ����� ��������� ����� ����� ���� ������+����� �� !�
����!��
#���� � ����������� ������� ���� �������� �� ��� �� ��� �B�� ���� ���� �� � �����
���������� ���������� ����� ������� �� ������ "������ � �� ��� ��� ���� ���������
�� �� ��� � ������������ ��� !��� ��� �B�� ���� �� � � ������������ ������� �����
����������� ��������� �B�� �� �� ����� ������� �� ����%������� � ����� ���������� '��%
��� ������� ��� �B���� ��� � ������������ ��� ��� ���� ����� ��� �� �B�� �� �����
��������� #�� F��� ��� �� ���� �� �� ���� �� F�� ����� ��������� )� ��� ���� �����
����������� �� ��� ����� #� � ��� � ��� ����������� ���� !��� ��%������� �� ���� ����
��� �B�� �� �� ������ )� ��� ����� ���� ������� ��� �������� �� ������� ���������
����� ��� ��� ��� ���� ����� ���� ��� ������� ��� � � ������+�� #�� ������ ���%
��� �� ���� ���� � ������������ �B�� �� ����� �������� ���� � �� ������ ����
����� �� ���� �B������� #�� ���� �� �� ��� ���� �� ��� ��������� ����%������ ��������
���� �������� � ����� �� � � ����������� ��? ���� �� �������� � ����%������ ������ ��
� � ����������� �� ������� ����� ���� �� � �����������H ��������������� �������� ����
��������� ����� ��� ��� ������� �� �������� !������
�� ���� ������ �� ������� ����� ��� ���!��� ��� ������� ������ �B�������� �� ���%
�F�������� ) � ��� �� �� ��� �� ��� �B�� ���� ���� �� � ����� ���������� �B�� ���� �� �
������ ������ � ������������ �� ������ �� �� ���� ���������� �������� �������� ���
��� ����� � ����� ��� ������+�� ����� ��� ���� ����� �B�� ���� � ����� ��� �������� ��
����� ����� ���� ��� ������� �� � ��� ������+��
,������� �� � �� ����� ������? � ���� ��� �����% � � ������� !� ��������� ����
�� ����� !����� ��� ��������� ����� ����� ,������� �� ��� �/������ �� ��� ����������
��� ���� ��� ������ �� �� ������� ��� �������� ���� ��� ������� �� ������� ����
��������� ������� "������ ����� �� �� ���������� �� �� �� ��� ���� ������ �������� ����
������ �� ����� ��������� �� ���� ������ �� ������� ���� �� �� ��� � ��� �� �������
��������� �� �������� �� ���� �� �� ��� ������! ���� ������� ������! ���� ������� �� ���
6 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 20: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/20.jpg)
Motivation
� �!�� �� ���������� �B�� ���� ��� ���������� �������� =� �� ���� �� �� �� ��� ��������
����� ��� ��������� � ��%���� �������� �������� ��������� ��� ! �%!���� � �������������
,���������� �� ���� ����������� �� ��� � � � �� ��� ������ !�������� ���� �����
#�� ������ ������? � ���� �� ���� ������� �� �����% � ��� �B�� ���� �� �����
�������� �� �� ������� ��������� �� � ����� ��� ����� ��� ������� =� ���� �!������
���� ��� ����� ���������� ������ �� ���� �������F� ����� ���� ��� ������� ��� ������+��
8�� ������ ��� ��������� ��� ����%���� ���� ����������� "������ F����� ��� ����
����������� �������������� ��� � ����� ��� ����� �� � �� ����� #��� �� ���� ������ ��
���� �� ������ ������� ����������� ����� ��� ������� ���� ��� � �� ��� ��������
�!� � ��� ���� ���� ���� ��������� ����� �� ������� =��� >'� �������� ������ !�����
����� !��� �� ��� ������ �� ������ ������ �� �����!� ��� ������� �� ��� ���� ��� ��
�� ���� �����B� �� ������� ��� ��������� �� � ������ ���� �����% � ����� ��� �����
��� ���� ���� ����!�� #���� � ������ ��? ��� ��� ����F������� �� ��� ��������� �� �
>'� ��������
����� �� �������� ���� ����� ������%��� ������+������ $���� ���� �������� ��
��� �B����� ����� �� ��? ����� ����� ���� ��� ������� ������ � � ����+� ��� ���� %
������ �B�� �� ���� �� ������ #�� � ����������� �� ����F�� ���� �B��� �������� ��
��������� ������ ������������ �� ��� ���� ����� ����� �B�� ���� �� ��������� � ���!�%
������ �� �������� ��� �������� ������� ��� ����� �� ������ ��� ��� �� ���� ��� �����
�B�� ����� �� ����� �� !� �!� �� ������ ��� ���� ���� ����� �� ������ ��� ���� �����
����� ���� ��� !� ����� ����� ����� ����� �� !� ����� K���� ��� ������! ��� ��� �� ��
��� ������ ��� ������ �� � � ����������� ���� ! /����� �� ���������� �� ���� ������
�� ������� ��� ���!�� �� ! /����� ���� ����� ������ ����� �� ���� ����� ������%���
������+����� ��� >'� ���������
7��� ���� ���� ���� ��������� ��� ���� ��/����� ! � ��������� �������� �������%
������ ,������� �� �������� ��� ! �%!���� � ������������ ���� ����� ��� ����� � �%
���� ��� ���� ����� ����� ! /����� �� �������� ��� ����!� >'� ��������� ���� ���%
������ ������� ���� �������� ��� F��� ����� ��� ��� ! �%!���� � ����������� ' �
0��������� 0;54 ���� � �� ; $���',(8& ���������� �� ��� 6444 �� ", ���� � �� ;
,(3544 �� ,(3<44 ����������� )� ��� ����� ���� ������� ����� �� ��������� ��������
@'K� )����� �� ��� �!���� ���������A >'� �������� ���� �� !� ��� ����������� ��� ��
������� �����F���� �����% �� �� ����������� ��? ����� ������ �� !�� ��� ��� �� ������
������ I.&46J�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM :
![Page 21: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/21.jpg)
Chapter 1. Introduction
����� �������� �����
)�� �� ��� ���������� ���� �� ������� �� �������� ��� � ����������� ����������� �� ���
�!���� �� ������� ��� ��������� ���� ��� ��������� �� ��� � �� ��� ���� � � ��� #����
��������� ��� ��� �� �������� ���� ���� ��� ���� �� ��� ������ ��������� ����� �� ���
���������� ( ��%������� ���� ����������� ��� ���� ��� ������ �� ������ ������ ���
�� � �����% � ��� �����������
>��� �������� ��� !� �������� IL&,#25 �K21 #025J ���� ������ ��� ����������
�� ��� ������� ��� �B��� ����� ������ �� �������� ����� �� ��� !� �������� I>>'2:
&&23J ���� ��� �������� �� ��� ��������� �� ����F�� �� ��������� ������� � � ��
���������� ����� �� ��� ��� !� ��!��� I&.2; *#25J ���� �������� ��� ��������
���!����� �� ��� ���� ���������
�� ���� ������ �� ��� ���������� �� �������� ����������� #���� ���������� ���� ���%
���� �������� ��� ��%����������� '���� ���������� ��� ����� �!� �� ������� ��? �����
�������� I'��93J �� �������� ���� ��/�� �� � �������� ������ I&.2; �,26J� ���� �����B
�������� ���������� ��� �!� �� ������ ��� �������� �� ����� ���� ���� ������ �������
������� !� �������� ��� ;%!���� ������� �� �� ����B ��� I��.K23 �"2<J� 8����� ���%
����� ��� ��� �� ��� ����������� �����B� ������� � ���������� ������� �� F�� �
������� !������ ����� �� ���� ���������� � ����� ��� I8�� 44 8�'23J �� �������� �
��? ���� �� ������ ��� � ������ �� ���� ��������� ������� I�K22J�
( ������ � �������� �� �������� �������� ���������� ����� ��� ��� ����� �� ���
������� ������ ��� �� !� ��� ���� ���� ��� ��������� �B�� ��� �� ��� ���� ��� !����
�� ���� ��� ����� ��� �� ������� ��� � � �� ���������� #� � �� � ��� ��� �������� �� ���
���������� ��� � ����������� ������� �� �� ��������� �� ���� ��� ���� ������ ��������
���� ������ �� ����� ��������� �� �� ��� ��������� �� ���� ��� ��� ������ ��������
��� ��� ������! ���� ������� �� ��� � �!�� �� ���������� �B�� ���� ��� ���������� ��������
7� ���������� �� �� �� ������� ����������+����� ��� !��� ����� #�� ���� �� I>'2<J ���
���� ��� ���� ��� ��� ! ��� ����� �� ������� ��������� "������ �� �� �� �� �������
����������+����� ���� ���� ���� ���� �� ��� ��������� �� ��� � �!�� �� ���������� ��� �����
=� �� �� � ����� ��� �� �� &������ 6�
)� ��� ����� ���� ���� ���� ��� !��� ���� �� �������� �������� ��� ! �%!���� � %
������������� '�? ����� ��� ������%!���� ���������� ���� !��� ��� ���� �� ��� �����B�
�� � ������������ I&.2; >>'2: >'2< >'23J� . � �� ����� ����� ���������� ��� ���%
������ ���� �� � ��������������� ������� ����� ������ �� ��� ��� �� !� ��� (��
��� �� �� I>'25 >'2<J ���� ���� �������� ��� �������� ��� ���� �����F����� ����� ���
!����� � ����� � !�������� �� � ! �%!���� � ����������� ����� ������ !�������� ��
; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 22: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/22.jpg)
Motivation
������� �� ��� �����B� �� ! �%!���� � ������������ ��� ���� ��������� ���� ��� !���
��������� �� I#025 #02:J� #��� ���� �� !���� �� �������� �������� ��� ��� ��� �����
�� ���� ��� � FB�� � �!�� �� �����������
�� &������ : �� ��� � �� �������� �������� ���������� ��� ! �%!���� � ������������
���� ��� �!� �� ������ ����� �������� ��� ��� ��? ����� ��� ������ ��� ��� ���� �����B
���� ��� ����� ��� ����� ��� ��� ����B ��� �������� I��.K23 �"2<J� )�� �� ���
���� �� ���� �������� �� �� �������� ��� ��������� �� ��� � �!�� �� ���������� ���� ���
�/���������� �� ��� ���������
����� ������������ ����������
8�� ����� ���������� ��� ���? ���� �� �� �� ��� ���� �� ���� �������F� ������������ (
��� ����� ��� �� ���� �� ����������� ��� ���� ������ �������� � �������� �� � �����!�
� �� �� � M � � ����������� � �� ���� ��� ��� ����� �����!� ��� �� ��� !� � �����
�� �� ����� ������� �� ��� ��� ����� ��������� �� �� � ��� ��� ������� ���������� ���
�����F�� ��� ��� ��� !� ������+��� "������ � ��� ���� � ��� ����� ��������� ���
���� �����B G�� ����������� ������ ���������� ��� ��������� ������ ���������������
��� ��? ����� '����� ��������������� ���� !��� �������� ! � �� �� � �� ���� �� ����
����� �� ���� �� ��� ���� ����������� �� ������+� ��� ���� #�� ������� �������
�� ���� ���������� ��� ��� ������ �� ���������� �� ��� ��� ����� ������ @� �!�� ��
���������� ����������� ��A �� ��� �������� @����� �� ���������� ������� �� ��� ��������� ��
��� �����A ���� ��� ��� !� ����� �� � �%����� �� �������� ���� �� ����� ���������������
�� ��� ���� �� ��� � �!�� �� ���������� ����������
��� ��%���������� ��� ������ � ������ ��� ��������� �� �� ������ ��� ������ ��
��� ��� ����� �����!� �� �� �������� ������� ������� I0" ,21 *��21J �� ���� �� ������
�� �������� ���������� #�� ���� ����!��� �� ���� ������ �� ���� �� �� ��� ����!� ��
��� ���������� ��� ��� ������� ������� ��������� ���� ��� � �!�� �� �����������
(������ ��������� ���� ��� !��� ��� �� ������+� ��� ������ �� !���� �� ��� ��
�� ���������%�B�� ��� ����� (� �������� !���� �� ���� ���������%�B�� ��� ��������� ��
K�����'������ I>$'"2;J� =��� ��� K�����'������ �������� �� ��������� ��� ������F��
���%��� ���� ������ !� ���� ��������� ��� ��������� � ���� �������� ����� �� #��� �
�B�� ��� ��� ��� ��� ���� �������� ����� � �� ������ ������ ���� ������� ��� ���%
� ������ ���� ��� ! /��� ��� �������� ��� ��� ��� �� �� ��� ����������� �����������
(������ ��/����� �������� ��� !���� �� ��� ���������%�B�� ��� �� ���=���� I""23J�
=��� ���=���� ��� ���� ������ ������������ �� ���� �� ���� ���� ��������� ��� ���%
� ��� ��� �� �� ��� ���� ����� ����� .� ������� ��� �� ��� ���� ���=���� ������
��� �������� �� ������� ������ ������� ���� ��� ! /��� @���� ������� �����������A ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 5
![Page 23: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/23.jpg)
Chapter 1. Introduction
� � � �B� ���� ���������+�����- ������� ���=���� � �� �������� ���� ������ ����
�� ��������� ������ �� ���� ����� �� ��/����� ������ �� �������� !��� ���������� ��� �
��� �������� �� �B�� ���� ��� ��������� ���� $� �� ���� �������� �� ������+�� �� ���
��� �� �B�� ��� ������ ����� ! � ���� ��� ��� �� �������� ��� ��������� ��� �� !�
�B�� ��� ����� ���� ���� ��� ������ ������� ��������
����� ������� �������� �� ������+� ��� ������ �� �� �B���� ��� ���� ���� � ��� �%
���� �� � ���� ������ ��� ����������� ��� ������ ��� �� � �� ��� !� ������+�� ����
� ��� ����� �� !��� �������� IL� 3< ��26J� '����� �������������� �� ���� ������
���� !��� �������� I,��29 ,23J� )�� �� ���� �� ��� 8�������� ,������ (������ ��
���� ������������� ��� ��� ����� �����!� �� �������+�� ���� ��������� ������ �� � ���
���������� ��� ��� ������ ��� �� ��� ��� � ���� �� ���� ���������� (���� ��� �����
��� F������ ��� �� ���� ��� ��������� ������ ��� ���!���� �� � F�� ����� ����� #���
����� ���� �� � �� ���������� ���� � �����%��������� �������� ���� � /��� ����
���� ������ ������� �� �������� ��� �B�� ���� ���� �� ���� ����� ���� �� �����������
�� ��� ��+� �� ��� ����� ��� ���� ��� �������� ���� ���� ���������� ��� ���� '���
���������� ��� �� ��� �� ��� �B�� ���� ���� �� ���� ������� ����� !� ���� � ���� ��!�
���� ��� � ����� ������ ��� ��- ������� ���� ��� �������� �� �������� �� ��� ����
���� ������ ��� !��� �� �� �������� ������ �� ������ �� ������ ��� ����������� ����� ��
��� ���� ��!�� '��� ����������� ��� IN844J ���� �������� �� �������� �� ����������+�
�� � �%���� ��� ��� ����� ������ ������� ��� ������ ��� ���� ����������� ������+���
���������� "������ �� ��� ���������%�B�� ��� ��������� ����� ��������� ��� ��� ��
���� �B��� ��������� ���� ��� ��� !� ������+�� �� ��� ��� ����� ������ ������� ���� ���
������ ������ ��� ������������
#� � ����� ��� ����� ���������� ��� ���� ��������� ��� ���� �� ��� � ���� ��������
�� ��� �B�� ���� ���� �� ���� �������F� ����������� �� &������ ; �� ����������� ��
��� ��������� �� � ����� �� �����% � ����� �B�� ���� �� ��� ����� ���������� ��� ��
���� ���� ����!�� #��� � ����� ��� � �����F����� �����% � �B�� ���� �� ����� �� ���
�������� ��� ����� ���������� ��� ��� ������ ����� ��� �������� ��������������� ��� ���
� ������ � ����� �� �� ��������� ���������� �� �� ����� ����� �� ������+� ������� ��
��� ��������� ��� ����������� ��� ������� �� ��� �������D��������� ��������� ��������
�� ��� >'� � ������������
����� ����� �������� �� ����������� � ����� ���� ��������������
>������ ��� �������� �� ������� ��������� I.>0�2< "((�2< ''&�22J ����� ��� ���
���� ����� ���� ������ !� � ������ � ������+��� #���� ��� ����� ���� ���� �����B
������ �������� ��� ����� ���� � !������� �� � !������� ����� �������� �������� �����B
< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 24: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/24.jpg)
Motivation
� ������ ��� �� ��� �%��������� ������ ��������� �� ����� ����� ��� ������� ������
����� ������+� ����� ���� �������� ��� ���� ���� �� !� �B�� ��� ������� "������
�� ����� ����� �� � !� �B�� ��� �� ����� � �����F���� ������ �� �������� �� � !�
�B��������
#� ���� ���� ���!�� ���� ���� ������� �������� �� ����� ��� ��� ���������%�B�� ���
��������� I&#N2; 8,2; *N39J� �� ���� �������� �� ��������� ��� �B�� ��� F����
#��� ��� ������� ��� ���� ���������� ��� �� �� �� ��� ����� #��� ����������� �� !�
��� !� ��� �B�� ��� ��� �� �B�� �� ��� ��� ���� �B����� ���������+������ �� � �������
������� �B�� ����� )���� �������� �� ����� IK723 8,22J ��� �� ���� ����� ��� ���
����������� ��� ���� ������ �B�� �� ��� ���� �� ����� �� ��� ���� ���� ���� �����
��� ���� �������� �� � � ����� =��� ��� ���� ���� ����� �� � ���� �� ��������� �� ���
����� �B�� ���� ��� ������� �� ���������� �� �� ��� ��������� ��� ���� � �� �B�� �� �����
�� ������ =��� � ����� ������? �� ��� ��������� ���� � ���� ���� ����!���� ����
���� ����� ����!�����
"������� !���� ���������� ��� �� ���� ����� ��� ��� ����������� ��� �� ��� �������
�� �B����� ����� ��� �B�� �� ���� �� ����� I&�#44 ��41 K�''23 "=)23 L��3<
L#22 �K#23 )=,�41 ,K8#41 '.�25 '&*�44 #"(�22 *8#22J� #���� �������
�B���� ��� �����������%!���� ����� ��������� �� ��� ��������� ��� ����� ��� �����������
�� � �%����� �� ���� �� � �������� � ���!������� �� �������� ��� �������� ����� ��� #���
� �� ��? ���� ��� �? ��� �� ��� ����� ��� ������ �� ��� ���� ���� ������ ����� ���
��� ��%����� �� ��� ����� �� ������ #���� ���������� ���� !��� �������� �� ��� ����%
��� � ����������� IK�''23 "=)23 L#22 �K#23 )=,�41 '.�25 #"(�22J �� ��
���� ����!� ���� ��� I&�#44 ��41 K723 ,K8#41 8,25 8'44 '&*�44 *8#22J�
�� &������ 5 �� �� ��� � �� ��� �� �� �� ���������� �� ! /�� ��� ���� ����� �����
� ���� ���� ����� ������%��� ������+������ >�/����� ���������� ����� ���� ��� � ���%
�������� '��� ����� ���� ���� ����� ����� �� ! /���� �� ��� �����%! /��� �� ��� ������%
��� I"=)23 #"(�22J ������ I&�#44 ��41 K�''23 L#22 )=,�41 '&*�44J
�� ������ ! /��� I�'2< ,K8#41J �� ����� ���� ����� ���� ������� )���� ��������
���� � ��/����� �������� ��� �������� � �� �� ������ ���� ���� ���� �� !��������
�B�� ���� I� (41 *��22 *8#22J� )���� ����� ��� ��/������� �� ��� ��� ������ ! /���
��� ��� ��� ��� �� ��� ��/����� �������� "������ ����� �� �� �� �� ���� !����� ����
��� ������ ����� ��� ������F�� ��� ��O�� ������ ��������� ��� ������/� ��� �������� �
����������� ��� �����B��� ���������� �� ��������� ������ ������� =� ��� ���� � �� �
�� �� �� ������ ������� ����� ��� ���� ����������� ���� ������ �� �������� � ������ ��
! /����� �������
�� �������� �� ���� �����B� �� ���� ����� ������%��� ������+����� �� ��� �B����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 9
![Page 25: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/25.jpg)
Chapter 1. Introduction
��� ! /����� ����������� �� ������ �� �� ��� ���������� �� ��� ���!�� �� �������
� ���� �������� �� ��� ���� �����!�� #��� ���!�� ������� ���� ������ ����� � � �� �
��������� ��� ������ ���� ������ �� ���� ���� ��� ��������� ��� �� ! /�� ��� ����� ���� �
����� ����� ���� ���� �� ����� ����� ����� �� ��/����� �����!�� ���� ��� ��������� � ��
���� ��/����� �������� �� ��� ���� �����!�� ( ��� � ����� �������� ���� ����� ����
���!�� ��? ��� ���%������!� ����F������� ��� ��������� ��������� #� � �� &������
< �� �B���� �������� ��������� �� �������� �� ������ � ��%������� ! /����� �������
=� ��� ��� ��� ��������� ���� ��� �������� ������ ��� ��� ����� ��� ��� �����������
!���F�� ���� ���� ��������� ��� �������
��� ��� � ������������
#��� ���� ����� ������ ������! ����� �� ��� �����B� �� ������ ������ � �������������
#�� F��� ������! ���� �� ��� ����������+����� �� ��� ���� ������ �������� �� ����� ���%
������ =� ������� � ���������� ����������+����� �� ��� ����������� ��� �� �� �� ���
F��� ���� ��� ������ �� ��� ������� !������ � @������� ������! ���� ��� ��? ���� �����A
�� ��� � �!�� �� ���������� ���������� (�� �� ��� �����B� �� � ������������ �� �������
� ��� ����������� ���� ���� ���������� ��� ������� �� ��� ������ ��� �������� ����%
������� ��� ���� !������ ������ ��� ���� ���� ������� =� ��� ��� ������ ��������
�������� ���������� ��� � ! �%!���� � ����������� ������ ��� �� ������� � ��� ����
) � �������� ��������� ���!��� � ��� &���� ���� �� ��%���� ��������� ����� � �
� ��? ����� ���������� '���� ! �%!���� � ������������ ���� � ������ !�������� ��
������� ���� ��� ��? ����� ���������� ��� !� ��������� �� ������������� #��� �������� ���
!� ����� !� ������ ��� ���������� �� ��� ������� ��������� �� ��� � �!�� �� ����������
�B�� ���� ��� ���������� ��� ��� !������ � �� ��� �����������
#�� ������ ������! ���� �� ���� ������ �� ��� ������ ��� ��� ����� �� ��������� �� � �%
���� ��� ����� ��� ������� #�� ���� �� �� �� ��� ������ �� ��� ���������� �� ���������
������� ����� ���������� ��� � ��� ����� ������ ��� ��� (� ����� ���� ��� ��������
����� �� �� ��� ���!���� ���� ��� �� � �� ��� ������ ������ �������� #�� ��? ����
��������� �� ������� ��� ����� ���F��� �� ��� ��������� ���������� ) � ������ ��� ���
����� �������� ����F������� �� ������ ��� ����� �������� �� �� �� � ���� �������
������ ����� ��� �� �� �B��� ������ ��������� ��� ��� �������� �� ��������� ������
� ����� ������ ����F������� �� ��� ���������� �� ��� ������F�� ��� ��������� ���!���
���� ������� ���� �� ��� ���� ������/� �� ��� ��/����� ����� �� �� ����� ��� ������� ���
�� ������ ����� �� ������� � �������� �� ������� ��� �� � ���������� ����� ���� �����%
���� �� � ����� ��� ��� !� ���� #�� �������� � ����� ������% �� �����F����� �����
��� ������ ��� ����� ���� ����!� ���� �B�� ���� �� ������%������ � �������������
3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 26: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/26.jpg)
References
#�� ����� ������! ���� �� ��� ������ �� ������ ���� ��� ! /����� �� ����� �� ���� �����
������%��� ������+������ �� ���� �����B� ���� ������ �������� � ���� ��B����� ��
��� ��/����� ���������� �� ����� ���� ����� ������ ) � ��B����� ��� ��� � ����
���������� �� ��� �������� �� ��������� �� ��� � � �� ����� �� ��� ������ ������ �� ���
�����F�� ��� ���������� !���� �� ��� � ����� ��� � ���� ����� ��� �������� ��� ���
���� ������ ����� ������ =� ������� � ������� ������/ ������� ��� ��� ��� �
��� ��/����� ���������� ���� � ����� ��������� �� ���������� =� ����������+� � ���
�� ����������� ���� ��� ��������� ��� ���� ����� ������%��� ������+������ ) � ���
�������� ��� ��� �� ��������� ��� ���� !��������� �� ���� ����� ������%��� �������
!���� �� ��� ���������� ����������������
����� ��� � ������ �� ���� �� ���������� �� ������� �� �/������ �������� ������
�� ! /�� � ��%������� ���� ����� ������ ��� ���� �� ���� � ���� ����� ������+�����
������� ��� ! �� � ��� �������� ������������� �� ��� ! /����� ������ �� ��� �� ���
=� ��� ��� ��� ����������� �� � � �������� ���%�������� ������ ��� ������� �� ��
� ������ ���%�������� ���� ) � �� �� ��� ��� ��� � ������� ��� ����� �� ��� ��O��
��� �� �� � � �������� ������� ��� ��� F������ �� F��� �������
��� ��� � �����������
#��� ������ �� ������+�� �� ������ &������ 6 �������� � ����������+����� �� ���������
���� ������ �������� ���� ������ �� ����� ����������� ��� ���� ������ �����������
������� ����� ��� !� ������ �� ��� ��� ��� �������� �� �������� ���� ��������� ��
&������ : �� ������ ��� ��� ��� � ��%���� "������� ,������� ��������� ��� . �%
!���� � ������������� &������ ; ����� �� ��������� �� � ����� ����� �� � '���!�
'����� ������ � ������������ �� �����% � ����� ��� ����� ���������� ��� ���� ����
����!�� &������ 5 �������� ������/� �� ��� . /����� �� '��� ����� '���� �� '��� �����
#�����% ��� '��� ������ &������ < �������� � �������� ������ �� ! /�� ����� ����
� ���� ����� ��� �������� ��� F��� &������ 9 � �����+�� ��� �������� � � �� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 2
![Page 27: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/27.jpg)
��� �����
I.&46J K� .� ��� �� &���� =���P� 7�B� �� "���%,���������� &��� ����Q '���
���� ������ �� �� ('� ;5@6AH21R25 ��!� ��� 6446�
I.>0�2<J =� . �� 8� >��� 8� 0�������� �� K�� � �� "��G����� #� �������
�� �� >� ,�� � N� ,��� .� ,�������� � 8� �������� ��� ,� # � (�������
,������ 8���� �� ���� ��� "���%,���������� &��� ���� ���� ,������ )***
'����� 62@16AH93R36 >����!�� 122<�
I.�35J &� K� .�� � ���H ( 7�� &��� �� � ����������� &��� ����� + ��
663H;<6R;<9 (��� 1235�
I&.2;J #��� &��� ��� �� � .���� ( ,���������� '� �� �� '������� ��� "�������
>��� ,���������� '������� �� ,� � �� �� -.�� (����� )��/� +�������� ��
'����� ( ��� �� 0)+'(/123 ����� 66:R6:6 (��� 122;�
I&&23J &�"� &�� ��� &��� &�� ��� "������� ,���������� ��� ,������ >��� 8����%
������ �� ,� � �� �� .11$ )��/� '���� �� +�� �������� 0)'+41$3
����� :99R:3; 1223�
I&�#44J �� &����� �� �� ��������+ ��� �� #������� (�������� �� ' ����� ��� '���!�
'��� ����� ,�����+����� �� '�����%������ � ������������� �� ,� � �� ��
-5�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(4663 ����� 1:R
6; � �� 6444�
I&#N2;J >� L� &��� �� #������ ��� ,� &� N��� (� 0����� (������� ��� ��� 8 �%
#��� ,�����+����� �� >�%(����� ����� �� )� ,� � �� +�� �������� /.112
����� 513R569 7����!�� 122;�
I>>'2:J �� >������ �� > !��� ��� ,� '������S��� ��B�� ��� (������� '�? �����
,���������� �� '����� ������ � ������������� �� .117 )��/� '���� ��
,����� ,� ����� 0)',,4173 �� �� 1 ����� 5<R<: ( � �� 122:�
14
![Page 28: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/28.jpg)
References
I>'25J �� >������ ��� ,� '������S��� 0/���������� �� "�������%!���� '����� ���
'�? ����� ,���������� �� '�����%������ � ������������� �� ,� � �� ��
.�� )��/� +�������� �� 8����,����� '����� ( ��� �� 08,'(41%3
����� <3R99 ��� ��� 1225�
I>'2<J �� >������ ��� ,� '������S��� 0�� ����� �� "�������%.���� '����� ���
'�? ����� ,���������� �� '����� ������ � ������������� )*** ����� ��
,����� ��� 9�������� +����� 9@;AH:35R:23 (��� 122<�
I>'23J �� >������ ��� ,� '������S��� ,���������� 0�� ����� ��� &��� (������ ��
&���� ,������ 0B�������� ��� '�����%������ � ������������� )*** �����
�� '������ ;9@13AH:35R:23 )���!�� 1223�
I>$'"2;J 8� >�� �� $��� �� '��+ ��� N�'� "����� &��� �������� )�����+������ ���
����� �� '������F� &��� ������� �� >�����! ��� ������ (�������� ���� :���
��� �� ,����� ��� 9�������� '�������� 66@:AH;<6R;92 '�����!�� 122;�
I0" ,21J 8� 0�������� �� "��G����� *� � ��� >� ,�� �� 0B�������� �� ��� ( ��%
����� ,�����+����� �� �� � ,������%.�������� ,�������� ; �� <��� ��
'����� + �� %$1� ,� ����� �� �� 2�� =������ �� ;������� ���
'������ �� ,����� '��������� +���� '���� '( ����� <5R3: ( � ��
1221�
I��41J 8� ��� ������ ��� �� ������� "������� ' ����� ��� 0B�������� &�����%�����
'��� ����� ,������� �� >�����! ��� '�����%������ � ������������ ��
,� � �� �� )��/� '���� �� ,����� ,� ����� 0)',,46.3 '�����!��
6441�
I� (41J �� ����� =� �� ��� '� (����������� ( '������� ��������� ��� ' ��������
K����� , ����� (���������� �� 8�� &��� ������ ��!����� #������� 8�����
��#D &' #������� ���� <12 � � 6441�
I�,26J ��=�&� � ��� ��"� ,���� '����� >������� ,���������� �� '���� ,����������
�� ,� � �� �� -%�� �)'>? ����� 146R114 1226�
I�'2<J �� ������� ��� K� '� '���� (8.H ( "������� ��������� ��� >������
8��������� �� ������ 8���������� )*** ����� �� '������ ;5@5AH556R
591 ��� 122<�
IK723J �� K ��� ��� 8� 7��� #�����? �� ��� '��� ����� 8 �%#��� ,�����+�����
�� ����� �� ,� � �� +�� �������� /.11$ 7����!�� 1223�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 11
![Page 29: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/29.jpg)
Chapter 1.Introduction
IK�''23J '� K��� #� 7� ��O��� ��� �� 0� '���� ��� K� '� '���� '��� ����� �������%
��� &����� �� ,� � �� �� 2�� )��/� +�������� �� 8����,����� '�����
( ��� �� 08,'(41$3 ����� 125R645 ��!� ��� 1223�
I"((�2<J �� "� �� (������� '� (���������� .� � ���� '�%=� ��� 0� . �����
��� �� ��� ��B���+��� � ����������� ,���������� ���� ��� '$�� &��%
����� )*** '����� 62@16AH3;R32 >����!�� 122<�
I""23J &� #���� "� "��� ��������� &������ ��� 8 �%#��� ' ����� ��� (�������
����� �� &����� �� ,� � �� �� )��/� '���� �� ,����� ( ��� ��� ���
'���������� � ���@�� 0,('�41$3 )���!�� 1223�
I"=)23J � "������ �� =��� ��� L� ) ��� �� >��� '��� ����� ' ����� ��� �
&��� � ������������ �� )� ,� � �� �� $�� )��/� '���� �� ( ��� ����
+����� �� ,�������� ;������� ��� ?������ +����� 0(+,;?+41$3
����� 53R<2 )���!�� 1223�
I��.K23J ,� �!�����+ �� ������ �� � .��+ ��� ���� K��+������ &���������+����� ���
����������� �� ���D'���� &����%.���� ,����������� �� ,� � �� �� .11$
)��/� '���� �� +�� �������� 0)'+41$3 ����� :<2R:9< 1223�
I�K22J >� ������ ��� >� K� ������ ,���������� ���� ������ ,���������� )***
����� �� '������ ;3@6AH161R1:: ��!� ��� 1222�
IL&,#25J >� L� ���� T� &��� >� ,� ��� ��� �� #������� >��� ���������� �� '��%
�!� '�����%������ � ������������� �� )*** ����� �� ,����� ��� 9������
��� +����� ����� 1654R16<; >����!�� 122<� ( ������� ������� �������� ��
,���� �� ��� 2�� ���P &��������� �� ' ������� ���� @�&'P25A ����� 655%6<;
� � 1225�
IL��3<J #� L������ (� (�������� �� ��� ����� � ������� ��� ����� �� ('� ;���
��� A�� ������ ,�������� '���� ����� 544R512 ( � �� 123<�
IL� 3<J &� L� ���� 0����� ,���� (�������� ��� K���� ,��!���� �� ,� � ��
�� .1$B )��/� '���� �� ,����� ,� ����� 0)',,/$B3 ����� 3<2R39<
( � �� 123<�
IL#22J �� L������� ��� �� #������� ( &���%� ����������� (�������� �� ���� '���%
����� � ������������ )*** ����� �� '������� +� ��� )��� �� ������
����� ( ��� ��� ����� 3<<R334 '�����!�� 1222�
I ��26J ��#� �������� )����� ���� �� ,����� (�������� ��� ( ��� ���C (����
��� 8�� ���� ������ L� ����� 1226�
16 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 30: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/30.jpg)
References
I ,23J N� �� ��� >� ,�� �� )� ��� ( ������� ,�����+����� �� '����� ��� ����� ��
������� ,�������� �� ,� � �� �� A���� =������ �� ;�������� '�������
��� >������ +����� �� + ����� '������ 0;'>1$3 1223�
I�K21J #� ����� ��� (� K ���� #�������� ������ ���� �� '�������%&�������
,���������� �� '�����%������ � ������������� :����� �� ,����� ��� 9���
������ '�������� 16@6AH39R14< � �� 1221�
I�K#23J ,� ���� �� (� K��+���+ ��� �� # !��� '��� ����� � ���������� ,�����%
����� �� ,� � �� �� .11$ )��/� '���� �� +�� �������� 0)'+/1$3 �����
99R3; � � 1223�
I�"2<J '� �������� ��� � "�������� 0B��������� �� � ������ (����� &����F������
'����� ��� ,������%��������� ��� 7 ����� ,�������� �� ,� � �� �� .11B
)��/� '���� �� +�� �������� 0)'+41B3 ����� 1::R1;: 122<�
I7(.�25J (� 7����+�� K� (�!�� �� .����� 0� L�� �� ,����� .� 8���� ���
'� ������� #�� ':��� '���!� '����� ������ � ������������ �� ,� � �� ��
.11% )��/� '���� �� ,����� ,� ����� 0)',,41%3 ����� 1R14 ( � ��
1225�
I)=,�41J &� � )�� '� =��� L��� ,��� 8� 0�������� .� ����F ��� #�7� ��O��� ����
� ����BH $������� &���������� ��� '��� ����� #�����% ��� ,�������
�� � &��� � ������������ �� ,� � �� �� -66. )��/� '���� �� +�� ���
������ 0)'+46.3 � �� 6441�
I,K8#41J �� ,�� ���� �� �� K��+����� � 8� �������� ��� �� #������� 8����%
��� (�������� �� .��������� �� ��� '���!���� �� '��� ����� ,�����+�%
����� �� ,� � �� �� -$�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(46.3 ����� 64;R615 � � 6441�
I,��29J =��� ,��������� #����� #�����? �� ��� 0B��������� �� '����� 8�� �������
�� &��� ��� ,�������� #������� 8����� $��������� �� ������ �� $�!���%
&�������� &����� ��� ' ������� ���� 8������� ��� >���������� ���
1229�
I8�� 44J � 8���� ,� �!�����+ �� ������ ��� ���� �!������ ������� ��� (������
.������ � #��� �� 8�� �������� �� ,� � �� �� -666 )��/� +�������� ��
,����� (������� �� +����� ��� +����� 0)+,(++4663 ����� 141R143
(��� 6444�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1:
![Page 31: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/31.jpg)
Chapter 1.Introduction
I8�'23J (� 8��� (� �������� ��� K�'� '���� >��������� .���� ,���������� ���
����� >��� '�� �� ���� �� ,� � �� �� $�� )��/� '���� �� ( ��� ����
+����� �� ,�������� ;������� ��� ?������ +����� 0(+,;?+41$3
����� 115R16< )���!�� 1223�
I8,2;J � 8� �������� ��� >� ,�� �� #�� ,8��(#�*�7K >)( #���H ( 8 �%
#��� #�����? � ��� >)( ��� ������F������ ��� (���� ,������+������ ��
,� � �� �� .112 )��/� '���� �� +�� �������� 0)'+4123 ����� ::R;:
� � 122;�
I8,25J � 8� �������� ��� >� ,�� �� #�� 8,> #���H '��� ����� 8 �%#��� ,���%
��+����� �� ���� ���� ,������+����� ��� 8�� ����� ,�����+������ �� ,� �
�� �� +)D,;(< .11% '���� �� ,�������� ;������ 9���� ��� )��
���������� 0,;9)41%3 ����� 613R6:6 � �� 1225�
I8,22J � 8� �������� ��� >� ,�� �� #�� 8,> #���H '��� ����� 8 �%#��� ,��%
���+����� �� ���� ���� ,������+����� ��� 8�� ����� ,�����+������ )***
����� �� ,����� ��� 9�������� +����� 14@6A 1222�
I8'44J ,� 8 ��!��� ��� ,� '��������� ��%&��� #�����% ��� >��� >���������
'��� ����� �� � ������������� �� A���� =������ �� ���������� * ��
����� ( ��� �� ��� '���������� >����!�� 6444�
I'.�25J K� '� '��� '� .����� ��� '� ��O������� � ������� ,���������� �� ,� � ��
�� --�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3 �����
;1;R;65 � �� 1225�
I'&*�44J ��K� '��/�� &�.� &����� (� *��� ��� #� &� ������ ( '���!� (�������
�� #�����% ��� '��� ������ �� ,� � �� �� -5�� (����� )��/� +�������� ��
'����� ( ��� �� 0)+'(4663 ����� 1R16 � �� 6444�
I'�K26J ,� '�������� #� ��� ��� (� K ���� &���������� ,���������� 0�� �����
�� &����%&������� 7$�( ��� &)�( (�������� ���� �� ,� � �� �� .1��
(����� )��/� +���� �� '����� ( ��� �� 0)+'(/1-3 ����� 34R21 1226�
I'��93J (�� ��� '����� '�? ����� ,������ ,���������� �� ������ "�����������
)*** '����� 11@16AH9R61 >����!�� 1293�
I''&�22J "� '���� 7� '�������� '� &���� &� ,���������� �� ��� (� 7���� � #��
>����� �� ��� ,8)��' &������� �� ,� � �� �� )��/� '���� �� '�����
'����� ���� ����� 5<6R59: ����� 1222�
1; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 32: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/32.jpg)
References
I#02:J >��� # ��� ��� '��� 0������ ���������� �� &���� ,���������� �� � . �%
.���� � ������������ �� ,� � �� �� -6�� (����� )��/� +�������� �� '���
��� ( ��� �� 0)+'(4173 ����� 693R633 ��� 122:�
I#025J >��� # ��� ��� '��� 0������ 0/������ &���� ,���������� �� . �%.���� � %
������������� ('� ����� �� '����� +����� 1:@1AH59R53 ��!� ��� 1225�
I#"(�22J ��N� #��� �� " ��� &� (�� >� �O� ��� ,�&�N��� #�� ' �����������
,�������� (�������� ��� )*** ����� �� '������� +� ��� )��� �� ������
����� ( ��� ��� ;3@2AH331R246 '�����!�� 1222�
IN844J "� N ��� � 8� ��������� (������� 8�� ����� ,�����+������ �� ,� � ��
�� -666 )��/� '���� �� +�� �������� 0)'+4663 ��� 6444�
I*��22J N� *����� "������� ��� '��� ����� ,�����+����� �� >'� � �������������
,��>� #����� $��������� �� ������ �� $�!���%&�������� >��������� ��
0������� ��� &��� ��� 0���������� ��� 1222�
I*��21J "� *���� +�� ������ �� ,����� ��� E �� '������� (&� ,���� 7��
N��� 7�� N��� 1221�
I*8#22J N� *���� � 8� �������� ��� �� #������� "������� ��� '��� ����� ,��%
���+����� �� ,������%,���� ���� �� >'� � ������������� �� ,� ��
���� �� �� %�� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4113 ����� 1:5R1:2 ��� ��� 1222�
I*#25J *� *���� ��� �� #������� '������� � ����� �� (���������� �� '�����%
������ � ������������H ������ .������ ��� K�� � ,����������� �� ,� �
�� �� --�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3
����� 133R122 � �� 66R6; 1225�
I*N39J &�E� *� ��� ,�&� N��� ( '����� �� 0������ >��� >��������� �� ����
� ����������� '������� �� )*** ����� �� +����� *������� ����� 96<R
9:2 � �� 1239�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 15
![Page 33: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/33.jpg)
![Page 34: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/34.jpg)
������ �
����� � ��� ���� �������
>��� ����������� ��� !��� ����� �� ���� �� � ������? � �� ���� ������ ������ ������
�� � ������������� "������ ��� �/���������� �� � �������� ��������� ������� �� ���
��� ����� �� ��� ���� ������ ������� �� ��� �������� &���������+��� ��� �������� ����
������ �� ��� ����������� �� ���� ��������� !��� �� ���� ����������� ��� !� ���� ����
�� � ��� ��� �������� �� ��� �������� ���������� ��� �� �������� ��� � ���������� ��� �
!����� ��� � ������ �� �����������
�� ���� ������� �� ����+� ��� �������� ���� ������ �� � � !��� �� ��� ', ('"%6
������������ =� ��� ��� ��� ���������� �� ���� ���� ���� � �����F� ������� @�����
��? ����� ������ ����� ��� ��� ����B ���A ��� ��� � �!�� �� ����� �� � ��� ���� �
��� ����� � ������ �� ������� @��? ���� �����A� =� ��� �� �� ��� ����������� �� ���
�������� ��� ��� ��? ���� ����� �� ��� � �!�� �� ���������� �B�� ���� ��� ����������
������� ���� 1 �� :6� ) � ��� �� ����� ��� ��������� �� ��? ����� ��������� ��� �� �
����� �B���� ��� �������� �� ������ ��������� =� ��� F�� ���� ��� ���� �� ��� ��� ����
����������� ���� ��� ��� �B������� �� &������ ��� 8���B ��� ������� ������! ����
������� �������� ������������ �� ��� � �!�� �� ���������� �B�� ���� ��� �����������
(�� ��� ��? ���� ����� ������� ������� ���� ��� � �!�� �� �����������
��� �����������
(� ��� ��������� ����� ������ �� �� �������� ��� ����������� �� ���� ����������� ��
������ !� ��� ���� ������ �� ������ ������� �� �� �������� � ������������ ���� ������
�� ������ ������ �� ���� ������� �� � ! �%!���� � ����������� ���� ���������� ����
�� ������� ��� � ������ ! � ����� ��������� ��� ������ �� ������ ������� �� � ����
����!� � ����������� ����� ���������� ��� ��������� ���� �� � ������ ������� ������
�������� �� ������ ���� ������ �� � ������ ���������P� ����� ��� ���� � ������ @:44 %
19
![Page 35: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/35.jpg)
Chapter 2. Pattern Characterization
344A �� ������ #� ���� ���� ���� ���!�� � �� ���� ���� ���� ����������� ���� �B�����
�� ���� ���������
>��� ����������� ��� !��� �������� �� ���� ���� �������� �� � ������������ ���
������������� ��� �/���������� ������� �� ��� ��� ����� �� ��� ������ ������� �� ���
������� ��� ��� !� ���� ������ �� �������� �� �� ��������� '������� ���������� ���
������� �� �������� ��� ���������� �� ��� ������� ��� ������� �� �B����� �����������
�!� � ��� ���� ������ ������� �� �� ���������� IL&,#25 �K21 #02:J� "������ ����
��� �B��� ����� ������ �� ��� ���� ��� ����� � ������� ���������� ��� ��� !� �����
"������� ���������� ��� ��������� �������� �� ������ ��� ���� ������ ��������� .����
�� ��� �������� �������� ���� ��� �!� �� ������� ��� ��B� ������� ���� ��� ���������
�� ��� � �� ��� ���� � � �� @��� I>'25 >'2< >'23JA� �� ��� ��B� ������� �� ��� �
�� �������� ����������� ����������� �� ���� ������� �� ����������+� ��� �������� ����
������ �� ����� ��������� =� ��� �� �� ��� ������ �������� ����� ����� �������� ���
!� ����� ������ !� ��� ���������� =� ����+� ��� ���������� �� ���� ���� ���� ��� ��
����� F�� ��������H ����� ��? ����� ������ ����� ��� �� ����B ��� �������� ���� ���
�������� �� ��� ��� �� ���� ���� � ����� ��� �� ������!�� �� I��.K23 �"2<J�
=� ��� �� �� ������� ������� "������� �������� �� ����� ��� �� ���� � �������
�� �������� ��� ������� ���� ��� ������ ����� �� ��� �������� ��� ���� ������ �� ����
�� ���� ��� ��? ���� ������ #�� ��? ���� ����� �� ��� � �!�� �� ����� �� � ��� ���� �
��� ����� � ������ �� �������� "������� ����������� �� ������� ����� �� ���� � �!��
�� ��� #��� �� � � �� ��� ������� ���� ���� ���� �� ��� ���F������ � ��������� ������
�������� �� ��? ���� ������ ��� ������ ���� ��� � �!�� �� ���������� �B�� ���� ���
���������� �������� ,����� � ����� �� ��� ��� ��� ��� ���� ��������� �� ��� � �!��
�� ���������� �B�� ���� ��� ���������� ��� �/��� ��� ������! ���� �� ��� ������ ������
��������� #�� ����� �� ������ �������� ������� � ����� ������� ��� !��� ���� ���
�� I>'2<J ! � ���� ���������� ���� �� ������� ����������+����� ��� ����� ���� ���� ��
��� � �!�� �� �����������
�� ���� ������� �� �� � � !��� �� ����������� ��� ������ !������� �� ��� ', ('"%
6 � ��� I=)#�25J� =� �� �� ��� ���� ������ �������� ��� ��� ��? ���� ������ ����
������ �� ����� ����������� ���� ��� � �!�� �� ���������� ������ ���� 1 �� :6� ) �
��� �� ����� ��� ��������� �� ��? ����� ��������� ��� �� � ����� �B���� ��� ��������
�� ������ ��������� '���� ��� ����� ��� �� ����B ��� �������� ����� ���� ��� ������
�� ����� ������������ =� �!����� ��� ��/������� �� ��� ������ ������� ������! ���� ��
��? ���� ����� ���� ��� � �!�� �� ���������� �������� . � ��� 8���B ��� &������
����� ��� ��� ����������� ���� � ������ ���� ��������%��%���� ������ ����� ����� �� �
�����F������ ������ �� ��� ������ �������� �� ��� � �!�� �� ���������� ���������� �� ���
13 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 36: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/36.jpg)
Measured Patterns and Environmental Setup
����� ����� ��� ��? ���� ����� ������� �������� ���� ���� ��� � �!�� �� �����������
#��� ������� �� ������+�� �� �����H '������ 6�6 �������� ��� �������� ���� ��� ���
����������� ��� ���� ��� ��� ������������ ��� �- '������ 6�: ����� ��� �������� ���%
���! ����- '������ 6�; �� ���� ��� ��? ���� ����� ��� ��� ��/����� ������ ��������- �����
'������ 6�5 � �����+���
��� ��� ��� ������� �� ������������ !���"
#�� ����������� ������? �� �� �� �� ��� ��B� ������� ������� ��� �� ��� �B������� ��
��������!� ������ ������ ��������� (� ��� �� �� ���� ����� �� �� ���������� �� ��
�� � �� �������� �� ����� ����������� �� ��� � �!�� �� ���������� ������� #��������
�� ���� ����+�� ��� �������� ��� � � !��� �� ��� ', ('"%6 � ��� I=)#�25J ����
��? ����� ��� ���%��? ����� ������� ���������� =� ���� ��� ����+�� ��� ��? ����
����� �� ����� '������ 6�6�1 �������� ����� ��� ���� ��� �������� ���� '������ 6�6�6
�������� ��� �B��������� ��� � ��� ��� ����������� �� �� ��� � � �B����������
����� !������� �������
/��� � ������
=� ���� ����� ��� F�� ��� �������� ����� ��� ��������� !� �������+�� !� ��� ��������%
��� ������? �� �� �� ����� #���� �������� ����� �� �B���� ��B� ���� !��� �������+��
��� ���� ���� ������ �� ��� ������ �� ��������� ��� �� !� � ����� ����
� +��� 0+�>3 #��� ������� ������� ���� ��� �������� !������ ��� �!O���� ��������
�� ��� �� ��� ����� ���� ��� !��� ��+�� (� �B���� �� ���� ������� ������� ����
���������� ��� �� �� �� � �����B ���� ��� !��� ������ �� ������ !� �����
#� ������ ���� ������� �� ���� ����� �� ��� ��������� ��� �� !� ���� ����� ��� � ����
������ ���� �B�� ����� ��� �� ���� �� ��� ������ �� ��� ��/������ !������ �����
���������� #� � �� ��� ��F��H
� M � ����
����� � ��� ��� ��� ��� ��������� ��� �� !� � ��� � ���� ��� �%�� ��� @�%1A%��
�B�� ����� ( ������� �� �������� ���� ��� ������ ������� ��� ��� ������ ���� ���
��� ������� ����� ���� ��� ��� �B�� ���H
� M ��� M ��� M ��� M ���
����� � �� � ���F����� �� ����� )��� � ������� �� �������� ��� ������� �� ��������
��� !� ���� ��� ��H
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 12
![Page 37: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/37.jpg)
Chapter 2. Pattern Characterization
��� M � U �
=� ���� ��� ���������� ���� � ��� �� ��������� ������ ���� � ������ ������� ����
��� ������ �� �������� �� ����� ���� ��� ��� !��� ��+��
� + ��� 0+'(3 #��� ������� ������� ���� ��������� ��� ���� �������� ��� ��������
���� ��������� ��� ��� ����� �����!� �� � ���� ��� �������� �������� ��� ���������
�� ���� ������� �� ����� ��� � (���� ��� F��� ����� ���� ��� ���� �� !� � ��
�� ��� ����� ���� �� ��� !��� �������� !��� �� �� ����� ���G���� �� ��������
���!���� #��� ������� �� � ������ �� ���� �� ��� ������ ������� ���� �� ��������
���� ��� ���� ��� ������ �� �? � �� +����
� +@������ 0+*F3 #��� ������� ������� ���� ��������� �!O���� ���� ��� ������ � ��
����� �� ������� ��� �������� ����� �������� �� �������� �� ������ ���� �������
�� �� ����� ���� ���� ��������
#��� ������� ��� !� ���������� � ������ �� ���� �� ��� ������ ������� �������� ����
��� ������ �� ����� ���� +��� ��� ����� �� �? � �� ��� !��� ��+��
� ;���� 9��� +�� �� 0,�>3 #��� ������� ������� ���� ���������� � ��� �� �������
������� !� �������� ����� ��� �� ��� F��� �� ��� ������ �� � � � ������� �� ���
����� ������� �� ��� ��B� ������ @���� �M�%���B�A�
��� ��� ��������� �� ���� ������� ��� �� � ���� !� ��� ��� ����� �� !� �������� ��
�� �� �� �� ��� �� � ���� !� � ��� � ���� ��� �%�� �B�� ���� ��� � �� ��� �������
��� �� ��� � ���� �� �%�� �B�� ���� �� ��� ��F�� ���� ��H
���� M � � ����
#� � ��� ����� ��� ������� �� �������� ����
���� M ������ M ������ M ��� M ������
����� � �� ��� � ���F����� �� ����� #�� ������� �� �������� �� ���� ��� ��H
� M �� U ����
� )�� ;��� 0)<93 #��� ������� ������� �� � ����� ����� ��� �� �� � ��������� ���
!� ���� ������� �� ����� ������� �� ������ �����B� #��� ������� �� ������ �� ���
������� ��� ! � �� ���� ���� �� ���� �� ����B ������ ���� ������ ��� ����B �� ���
��B� ���%+��� ������ �� ��� ����B ������ @���� �M����BI�J ������� �� � ������� ��
��� ��B� ������A�
��� �� 6�1 ����� ��� ���� �� � ������ ������� �� ��� �� 6�6 ��� ���� ������ ���
!��� ������ ���� ��� @ ����� ���A ������� =��� ���� ������ ��� ��� ���%+���
������� �� ��� ������ �� ��� �� 6�1 ���� �� !� ������ �� ��� >(#( ������� #��
&) $�7 ������ ����� ��� �� �� ����� ���� ������ �� ��� >(#( ������ ���
64 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 38: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/38.jpg)
Measured Patterns and Environmental Setup
����� �� ��� ������ ������� #�� ��%����� �������� �� ���� ������ ��? ���� ��� ��
�� ��� �7>0T ������� #�� ��� ������ ���� ��� ������ 4� #�� ����B �� ��� ��B�
���%+��� ������ �� �� �7>0TI4J ��� �� 6� #�� ��B� ����B �� ��� ��B� ���%+���
������ �� �� �7>0TI6J ��� �� ���
0 0 0 71 84 0 86 27 0 0 48 0 0 0 66
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
DATA
Figure 2.1. Sparse vector.
0 1 2 3 4 5
12
71 86 84 48
INDEX
66 27
−14 35
3 6 4 10 14 7
DATA
COLUMN
Figure 2.2. Sparse vector stored using the LL format.
#� ������ ���� ������� �� ���� �� ���� �� ��� ������ ������� �� ��� �7>0T �������
=� �� �� �� ���� ������� ��� ����� �� ��� ��+� �� ���� ����B @�������A �� !�����
=� ��� ��F�� ��� ��H
��� M � � ���� � �����
#� � ���� ������� �� �������� ����
��� M ����� M ����� M ��� M �����
��� ��� ������� �� �������� �� ���� ��� ��H
��� M ��� U �� � �����
#�� ��������� �� ������ ��? ����� ��� ������ ������� �� ������!�� ���� ��� F���
�������� �� I.&21J� #�� ��������� �� ������ ����� ��� ��� ����B ��� �������� ���
�������� �� I�"2<J�
#�!� 6�1 � �����+�� ��� ��� ������ ���������� �B������ �!��� ��� ���� ������ ��
�������� 8����!�� ���� �� ����� ��� ������ �� ��������� ��� �� !� � ����� ���� (� ��
#�!� 6�1 �� ��� ������� ��������� !� � ��� � ���� ��� ���� �B�� ���� 9� �� ��� �� � ����
� ���� ��� ���� �B�� ���� ��� #��� �� ��� !��� ��+� IK.��41J� #�� F��� ����� ��������
@'&( '0E ��� '#8A ��� ������ �� ����� �� ��� �� ���������� ����������+�� !� �������%
������� ��� ������� ������� ��� ��B� ��� @,#8 �7>A ��� �� �%������� ��� ������� ����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 61
![Page 39: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/39.jpg)
Chapter 2. Pattern Characterization
�� ������� �� ����� �� #���������� =��� �� �������� �� � ��� ������� ������ ��������
�� � ���� �� �� F��� �����F�� ��������� �� ��� ������� �������+�� �� ��� ������ � ���������
�� � ��� ����� ������ �������� �� ��� ���� ���� �� ������� �� ��������� �� ��� �������
����������H '&( ,#8 �7> '#8 ��� '0E�
������� ��� ���������� ���� ����
������� ������ ��� �� � ����
�������� ���������� ��� �� � ���� � � � � � �� �����
������ ��� �� � ���� � � �� � ������ �� �� � ��
������ ���� ��� �� � ���� � � ����� ��� ���� ��� � �
!���"���� ����# ����"�� ���� � $
���%�����" !���# ���� !&' �� � $(���� � ) *��� ������� + �,�
����# ����- � .
&� ���"����� &� &� ���"����� �� ��- + �,� ��%��� ���
Table 2.1. The load patterns we consider and the recurrences defining them. � and � refer
respectively to the address and value of the i-th instance of a given load instruction.
��7���� ���&��
=� ���� ��� ���� ��� ��? ���� ������� +@�� ����� �� ��F��� �� ��� � �!�� ��
������ ���� �B�� ����� �� � ��� ������� ��� ���� �������� (� �� �B���� ��� �������
������
��� 14 ; *)8 ���8 �6*8 144 ���
�������� � ��? ���� �� ����� : ����� ��� : !���� ��������� ��/�� ���� ��� ������ � ����
�� ��� �������� ������ <;�
'�? ���� ������ ��� ��������� !��� �� �������� ����������� ���������� �� !� ��%
� ��� �� ���� ��� ���� "������� ����������� ������� ���� � ������ �� ��� �� ���������
������ ������� � ������� ������� !� ��������� ��� ������� ��� �� !� ��� ��� � ���� �
����� � � �!�� �� ������ ���� ������ #��� �� ���� ������ ��� ��� �� ��� �� ��� ���%
F������ �� ��� ��� ���� ��� �B�� �� ����� ���� ��� ������� �� ����� ��� !��� ��������
�� �� �� ��� �B�� ��� � ��� ����� ���� ��� �������� ������� �� !� ����� ��� �
�� � � ����������+����� ��� ����� � ����� �� ������ �� 6� #� � ��� ��������
����������� �� ��� ��� �� ��� ��B� ������� �� ���� � ��� �� �B�� �� : ����� !�����
��� F��� ���������� ��� !� ��� ��� �� �� ��� �� ��� ������ � ������� ������ ���� �����
���� � � �������� ���������� �� �� ��������� ; ��� <3 �� ���� �� ��� ������ <;- �������
1:6 �� ���F�� ���� ��� ��� �� ��������� ������ ���� � ������ �� <;- ���� ������� 12<
�� !� ��� �� �� ���������
66 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 40: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/40.jpg)
Pattern Distribution
����� "��#���� ��� !�� ������$
#�!� 6�6 ����� ��� ������� ', ('"%6 ����������� ��� ���� ������� ��� 1< �����������
#�� ����������� ���� !��� �������� �� � ��,'%6 ��������� �� ��� � � ��� ���������
!� ���� ��7# �� �B�� ���� ������ ��� ���� ��� � ������������ I��2;�J� #��� ��� �
��� ������� ��� ������� �� ����������� �� ��� ����� ������� �� ��� ���������
', ('"%6 �������� ���� !��� �����F�� ���� ����� ������ ��������� �� ��� �����������
!������ ����� ���� ��� �� ��� ��� ������ �������� ��� ��� ����� ����� =� ����� �� �����
������ ��H �A >���� ������ !���� �� ������ � �� ������� ���� ��� �� ��� @)����
��# $ 8���B ��� &������A !A ,��� � ������ !���� �� �������� ���� ��� �%
� ��� ���� ��� ����� ��� ���� ����� ��� ��� ���� ��� �������� !� ��/����� ����������
@��� .�����A- ��� �A )���� ������ ���� ����� ����� �� ���� ��� �� ��� @8�����%
��� 8�������A� #�� �������������� �� )���� ��� $ ��� �� I��2;!J ����������� ��
����� �����F�� ���� �� 7�� &����� � �H ���� ���� ���� ��� 6%���������� ������ �����
� !%!���� ��� ��� ������ � � �� ������� (���������� )���� ��� $ &����� � � ��%
������������ ������ ���� �� ������ �� � !%!���� �� ����� �� ��� �� �� ���� ��������
���� �������� �������� �� ��� ���� �� )���� ������ � � � � ��%���� @������� �� � ')8A
����� �� �������
��"�� ���� ����� !��� �/� ����� �/� 0����� �/�
�,���.- �.123 24$$ 5�14 566
77� 8$) ���� 95: 41 24
�; 215#215 ����#< 18#18 *��.� 9$�8 :68 $64
��"���� �; ��= 215#215 ����#< 18#18 *��.� 9$�: :62 $64
3���� 524#524< �������� 1�=6< ��� � $ 5459 418 142
3����=�� 524#524< �������� 1�=6< ��� � $ $66$ 1�14 164
����# 1�5$ ) .�-�< ����# �1�5$ $6: 115 88
������� ������ 18) �������� 528:� 481� 2621
7// 18) �������� 1�926 5954 946
����"���� �������- � =�� 2���� =�� ��2� =*+ �1� 54642 26$4 9�24
��-����� ��� ::$� 5548 1168
Table 2.2. Selected subset of SPLASH-2. Statistics are for 16 processors, compiled with cc -O2 -mips2
-non shared (MIPS SGI v.7.1 compiler). Ints refers to the total number of executed instructions across
all processors. We also show the total number of Reads and Writes.
��� ������� #� ���������
��� �� 6�: ����� ��� ������� ������! ���� �� � ��� ��������� �� ��� ��� ���� ��������
� ����� �� � 1<%��������� ������� #��� �B�������� ��� !��� ������� � � ������ � �������
�������� �� ���� ��� ���� ��������� ��� ���� � ����� � ��� �������� �������� ��� ����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 6:
![Page 41: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/41.jpg)
Chapter 2. Pattern Characterization
���� #�� !��� �� ��� ��� �� 6�: ��� �� � ��? ����� �� ����� ������� �� �? � ���� 6�
0
10
20
30
40
50
60
70
80
90
100
Cho
lesk
y
FF
T
LU
Lu n
on
Oce
an
Oce
an n
on
Rad
ix
Bar
nes
FM
M
Rad
iosi
ty
Ray
trac
e
Scalar Seq Stride
Regular Particle Irregular
Figure 2.3. Breakdown of pattern distribution for 16 processors and Bsize = 32. Pointer and Index
patterns are not plotted due to their negligible contribution.
��� �� 6�: ���� ��� ���� ��� ,#8 �� �7> ��������� #�� ������ �� ��� ��������
�!����� �� ����� �������� �� ��� ���� ��� �� �������� ��� ���� ���� ���� ��� �������%
���� ����� ����� ���� 4�1V� #��� �!��������� ����� ���� ������ � ����������+������
�����!� ��� ����������� ������������ ��� �B���� ��� '���� �� '���26 ��� ����� ��
)��� ���� �����F���� ����������� �� ���%����� �������� @61V �� ���%����B ��� 69V ��
���%������� �����������A !���� ����� �������� ��������� �� ��� ���� ��� �� '���25��
,������ ��� 7('%����� � ���� ��� �� ���� ���������� �� '���25��� ��� ) >07 @ �%
��� :V ��� <V ����������� �� ������� I8�� 44JA� &����? ���� ���� �B�����������
���� ��������%!���� ����������� �� ��� ��B� ������� �� ��� ��� ��� �� ,#8 ��� �7>
������� ����������
#� � ���� �B���� ��� ��� �� ������ ��� ���� ��� �� ��� ���������� ���� ��� �� ����
#� � ���� ������ ���� � ���� �������� �� '0E ������� ��� %�B� ���� 8���B% � ��
�������� �� 78 �������� @2�9V �� �������A� �� �������� '0E �� ���� ������� �� ��� �����
��� ������ �� ��������� �������� ������ � � �������������� �� $ ��� )���� �����
�� �������� ��� ���������� �� '0E �������H �� $ ���� �������� ���� ��� ����� @��� 78
��� � ���������A- �� )���� '#8 ���������� ��� '0E ��������� ! � ��� ����� ��� �����
������� ���������
.����� ��� ��� ��� ���� � ������ ��� ���� ��� �� ��� ��� ����� ����� 7�������%
��� � �����F���� ��� �� �� ��� '#8 '0E ��� '&( �������� ������ �� ��� !��� ��
6; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 42: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/42.jpg)
Pattern Distribution
�� ��� ���� �� ��� ���� ���� ������ 1%���������� ��!� ������ ��? ������ ��� � 6%
���������� ��!� ����� ������� ��� '#8 �������� �������� ��� ������� ���� ����
���������� ���� ��? ����� �������� �� ������ ���� '#8 ��������� �� .����� ������� ���
G��� ��!� �����!�� ��� ���? ���� ����� ������ � ��� ����� � ������ ���� �������� ���
���� ���� ������� ������! ���� �� � �������!� ��� @9<�6VA �� ��� '&( �������� �����
78 �������� ��� �����F���� �� ������� ��� ����� �� �������� @65V �� �������A � �����%
��� ��� �B������� �� ���� �����B �������� ����� ���� ��!� �� ��� !� �B�����!� ����
����� ��������%!���� ������������
.������ 1<%���������� � �� �� ���� ��������� ��� ������ ��� 1% 6% ;% 3% ��� :6%
����������� =� ���� �� �� ���� ��� ���� ����������� ��� � � �� ��� ���� �B�� ��� !�
� ���������� ������� �������� �� ��������� ��� ������ ���� ��� � �!�� �� �����������
�� �������� ��� ������� �� ��� �������� �!������ �� ��� ������ ���� �� ���� ��� � �!��
�� ����������� #�� ��� �B�������� ��� &������ ��� 8���B� �� ����� ����������� ���
� � �� ��� ���� ��������� ���� ��� � �!�� �� ���������� @��� �� 6�;A� �� &������ �� ���
!� �!������ � ����� �������� ���� '0E �� '#8 @������ ���� � 6V ������ ��� :6 �����A
��� � �������!� �������� �� ��� � �!�� �� ����� ���� @� ������ 64B ���� 1 �� :6 �����A�
=��� ������ ���������� �� 8���B ��� ��������� ���� ���� �? � !������ '&( ��� '0&
���������
�����
0
2
4
6
8
10
12
14
1 2 4 8 16 32
����
� �
�
��
OrdSca Seq Stride NR
�������
0
50
100
150
200
250
300
1 2 4 8 16 32
����
� �
�
��
OrdSca PollSca Seq Stride NR
Figure 2.4. Pattern Distribution (million loads) for Cholesky and Radix up to 32 processors. Scalar is
split in Ordinary loads (regular and synchronizing) and Polling loads.
#���� ��� ����������� &������ ��� 8���B ���� � ���� ���� ��������%��%
���� ������ ����� !��� �� ���� ��������� ���� ������� ���� ����%���� ��� ���� ��
��� ���� �� ��� ����������H
� �� ������." �� ���� ��������� �� ��� � ������� ��� � ��������� ���� ��� ���
����� ������ �� ��� ������� ��� �������� �� �� ��� ���� �� ����������� �� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 65
![Page 43: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/43.jpg)
Chapter 2. Pattern Characterization
� ��� �� �� ��� ������������ ������ �� ��� $ �������+����� ����� ! � �� �� ���
��!�� ���������+�� !������ ����� ��� ��� ���� ��� ���������� ���� ��� ��� �����
�������� �� ��� ����� �����!��� &����? ���� ���������� �� ��� ���������+� ����
���������+����� �����!�� ���H ���� ��� ���������+� !� ����� �� ��� �� �����!���
�� � � ��� ������ �� ��� �!� �� �������� ��� ���������+����� �����!�� ��� ���
�������� �� ���� ������� �� � ����� ��� �� � � !���� "������ � ��� ����
�� ��� !� ��� ����� �� ��� �� �����!�� ��� �� ���� ��� ������ �� ��� !��� ��
���� �� ��� '���� �������� #� �������� ����� ����� ���� ���� �������� @��� ��
��� ���������+���A ���� �� !���� ���� ��� '���� �������� ���� ,�%����� ���
)��%����� ������������ (� ��� !� ���� ���� ��� �� 6�; ��� �/��� �� � �� �����
���� ������ �/���� ��� ������� ������! ���� �� 7����� ��������� 0��� ��� �� '0E
���������� ��������� ������ @���� 35�6V ��� 1 ��������� �� 66�3V ��� :6A ���� ����
��� ���������� ,�%����� �������� ���� ���� ��� ��� ����� ���� �� ��� ��G ����
�� ���� ����� ������ ���� � &%!���� ���������� ��� � !� ������!��
� #�� ��� �� �0 �������� �� �� ���� 7 �������� �� ���� �� . !��� ���� � ����B
8� #�� �������� �������� �� @@.D8A U 1A ������ �� ���������� ��� ���� ���������
��� ������ ������ �� ���� ��������� � ��������� ��� �� ���� 7D7����� ����� ��
��� F��� ���� ���� ��������� ��� � ��� ���� ��� �� �� �� 8 ������� �� ���� �� ��
���������� #��� ���� �� ��� ���� ��������!� �� ��� ���� 78 ������� ����� ��� ������
�� ��� ������� ���� ��� ���� ��� �������� 7�B� �� ��������� ���� ��� ��� �� �� ��
��� � ��� ��� �� �� �� ����� �� ���� ��� ��� ��� � ����� ���������� �� ���
������ ���� ��� ��� ���������� ��� ��� � ���� ����� ���� � ��!� ����������
#�� ����� �������� ��? ���� ����7����� ������ �� ���� �� � ��!� ���������
���� ��� ��� ����� #�� ��� �� �� ���� �� ���� ������ ���� ������� �� ��� ��+�
�� ��� ����B @����� �� ��� ��+� �� ��� ����������A ��� �� ��� � �!�� �� �����������
����� ��� ��!� ���������� ��� ��� �� ���� ��� ���� �� ��� ������ �������� �� ���
� �� � ������ #� � ���� ���������� ��� ��������� �� �� ��� ����� ������ �������
�� �� ��� ��������� ��� ����� @����� ���� ������ ��� '&( �� '0E �������A ���
��������H � 1;�2V ��� �������� ���� 1 �� :6 �����������
#�������� ��� ������� ������ �� �������� ��� ���� �� ����������� ����� � �����F����
�������� �� ����� �� ��� ��������� �� �� ����� @���� �������� ��� ���������+�����A� ��
� �� ���� ��� ��� �� ����������� ���� !���F�� ���� � �������� ��������� ���� �B�� ����
�� � ��� ���������� ! � ����� ��� ��� !���F� ���� �B�� ���� ���� ���� �����������
=� ��� ���� ������������� �� ��������� ����� ����������� �!������ ���� ��? ����� ���%
������ !� � ������� �������� �B�������� ����� �� � �� �� ���� ���� �� ����%����!����
������������
6< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 44: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/44.jpg)
Sequence Length
��$ !�%����� &����
��� �� 6�5 ����� ��� ��� ���� ��� ������� ������! ���� ������� �� �� ������ ��� F���
����� ���� �� ���� ��? ���� ���� ���� �� !� �B�� ��� !����� �� ������� ��� !� ���������
@'������ 6�6�1A� #�� ��� !�� �� ���� ������� ����� ��� ��� ������� ������! ���� ���� �
��? ����� �� ����� ������� �� �? � ���� 6 ���� !��� ��� ��� @�� �� ��� �� 6�:A ����
��� ����� !�� ����� ��� ������� ������! ���� �� �� ������ ��� F��� ����� ���� �� ����
��? ����� #�� ����� ��� ����� @'&(U'0EU'#8A ��������� ��� � �������� @15�1V
��� �� �������A !���� �������!� ��� ;5�2V ��� �� ���� ���� ��� '0E ������� �� $%����
0
10
20
30
40
50
60
70
80
90
100
Cho
lesk
y
Cho
lesk
y
FF
T
FF
T
LU LU
Lu n
on
Lu n
on
Oce
an
Oce
an
Oce
an n
on
Oce
an n
on
Rad
ix
Rad
ix
Bar
nes
Bar
nes
FM
M
FM
M
Rad
iosi
ty
Rad
iosi
ty
Ray
trac
e
Ray
trac
e
Scalar Seq Stride
Regular Particle Irregular
Figure 2.5. Effect of removing the first three loads of each sequence. The left bar shows the pattern
distribution when all sequences of length greater or equal than 2 have been included. In the right bar,
the first three loads of each sequence are not included.
( F��� ������� ������� �� #�!� 6�: ����� ��� �������� ��? ���� ������ ��� ��������
��� 1< ���������� ���� ���� ��� ���������� �� ���� ���� ���� ����� =� ���� ����
��� ���� ���� 9 ��������� #�� '0E ������� ��� !��� ���� � ���� ;% 3% 1<% ��� :6%!���
��? ����� �� �� ���� ���� ��/����� ��������� '�? ����� ���� ����������� !��� 6�4 ���
�B� ��� ���� ��� ���� �� ��� ��� ��� � ���� �� ��� ��������� @80�A �� ��� #��
����� ���� ��� ��B�� � ���������� �� ���� ��� �� !���
�� ��� !� �!������ ���� � �� ����� ��� � O �� � ��� � ��������� ��? ���� ������
��� ����������� �������� ��� '&( ������� �� ����� ����� �B�� ��� �� ��� ! ���� @�9A
��� ��� ���� ���� �� � ��� '0E%; %3 ��� %1<� .� �������� '#8 ��� �� � ����� �B����
'0E%:6 �������� �� �� �B�� �� �� ������� ! ���� @���� ����� ; @:;�:V '#8A �� ��� ���
����� : @<9V '0E%:6A �� $%���A� (� � � � '0E �������� ������� ����� ��? ����� ����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 69
![Page 45: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/45.jpg)
Chapter 2. Pattern Characterization
���� ���!'� ���;�&�!�� ��/ &�$ 4 18 95
�,���.- �� ������� = = �6 �168>� �6 �66>� = 68> $9>
5 �2�>�77� �6 �1�2>� 9 �68 >� 8 �6$>� 99> 151>
�6 �1$5>� �� ������
9�5:2>��; �6 �24>� �6 �5:>� 6 �$6>� �4> 15$>
�� �����
�; &� 6 �26>� �6 �5:>� = = = ������� �6> 598>
3���� �6 �1�1>� = = �� ������ �6 �525>� �6 �54�>� 51> 92>
3���� &� �6 �5::>� �� ������ = �6 �$:>� �6 �519>� �6 �44>� �9> 59>
����# �6 �58>� = �6 �94>� = �� ����� = �5> 28�>
8 �5$>������� 6 �:2>� = = = = = 1�9> 5�5>
�� � �� ��
7// �6 �166>� ���� �6 �9:>� = �6 �$1>� �6 �2�>� 29> 5:8>
5 �9$>�9 �56>�
�������- �� ����� 2 �54>� = = = = 1��> 92$>�6 �152>�
��-����� �� ������� = �6 �9$>� = 9 �114>� = 45> 129>
Table 2.3. Dominant sequence lengths in all patterns for 16 processors. Maximum values for each
application are shown in bold. Percentages below 2.0 are omitted and accumulated in the REM column.
��� '#8 ���� ��� :6. ������� � �� �������� ���� ������� ����� 7��� ���� ��? �����
������ ����������� �� � ���� ���� ��� �� ���� !��� �� �� ��� ���� �� '0E ��������
������ ���� ���%����� ��? ����� ����� �� ��� !� � � ���F��� !� ������� ��������
��������� ���� ��� ����� ������� ������
=� ��� �������� ������� ��� � �!�� �� ����������� >�������� �� ��� ���!�� �����%
���� ��? ���� ������ ��� �������� �� ��� � �!�� �� ���������� �B�� ���� �� ����������
���������� ��� �� 6�< ����� �� �B����� #�� ������ �� ��� ���� ��� �������� �� ���
���� ��� �� �� �� ��� ��? ����� ����� #�� ��� �� ����� ��� ��/����� ���� �� ������ ���
���� ����� ��� ���������� �B�� ���� ��� ����� ����������� #�� ���!�� ��������� ��
��� �� 6�<%@�A �� ��� � ��� ����� �� ��� ��? ���� ����� ���� ��� ���!�� ��������� ��
��� �� 6�<%@!A ����� �� ��������� � ��������� �� ��� ���!�� ��������� ������ �� ��� ���
�� ��� �� 6�<%@�A ��� ��? ���� ����� ��������� �� ��� � �!�� �� ���������� ����������
=� ��� ������ ���� �� ��� ���������� �������� ��� � �!�� �� ���� �B�� ��� !�
���� ��������� ���������� #��� �� �� � ���� ��� ��� ���� ��������%��������� �����������
&������ ��� 8���B� #� � ��� ���!�� ��������� ���� � ������� �� ������+�� ���
�� �� � ��� ����� �� ��� ��? ���� ������ �� ��� � �!�� �� ���������� ���������� #���
�� � �������� ��� �/���������� �� ��� ��������%�������� ����������� "������ �� ����
���� ��� ������ ���� 1 ; 3 1< ��� :6 ���������� ��� �� ���� �!������ ���� ��� ��? ����
63 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 46: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/46.jpg)
References
(a) (b)
proc 1 proc 3proc 2
proc 1
proc 3
proc 2
Figure 2.6. Changes in sequence length depending on the problem partition and number of processors
executing the application.
����� ������� �������� ���� ���� ��� � �!�� �� ����������� =� !����� ���� ', ('"%6
����������� ��� ���� �� ���������� ��� � ��� ! � ������� �� ��� ��? ���� ����� ��
������ �� ����������� ��� �� �� ���������� �� ����������� � ��������� ������+��
!� ��� ��������
��' !�����(
�� ���� ������� �� ���� ��� � � !��� �� ��� ', ('"%6 � ��� �� ������� ��� �� ����
��������� � ����������+����� �� ��� ��� ������ ������ �������� ��� ��? ���� �������
#��� ����������+����� ��� !��� ���� ���� ��� � �!�� �� ���������� ������� ���� 1 �� :6�
#�� ������� !�������� ������ � �������� �!����� �� ��� ��� ������� ����B ��������
� ��������� �� ��? ����� ��������� ��� �������� �������� �� ������ ��������� #��
�������� �� �������� ��� �������+�� �� !�� ��� �� @��� ���� �����������A �� �������� ����
� ����� �������� �� ������ �� ��� ����%�/������ ������� �������+���� (��� �� ����� ����
������ �������� �� ��� ������ �� �� ���� �!������ ��� ��� F��� ���� ��� �����������
�� ��� �������� ���� ������� ���� 1 �� :6 ���������� ���� �� ���� ���� �B��������
�� ����������� ���� � ���� ���� ��������%��%���� ������ ����� @&������ ��� 8���BA�
#��� ������ ���� ��� �������� �� ���� ������� ������ �� ��� ���!�� �� ������� �� ����
����������� ( ������ ���� ���� ������ ���� �� ����� ��� ��? ���� ������ �� ������
�������� ���� ���� � �������H ���� ����������� �� ��� �� �� ���� ��� �� �� ��� ����
��� ��� ���� ������� ��� � �!�� �� �����������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 62
![Page 47: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/47.jpg)
��� �����
I.&21J �� � .��� ��� #��� &���� (� 0/������ ��%���� ,�������� '����� �� 8�� ��
>��� (����� ,������ �� ,� � �� +�� ��������/1. ����� 19<R13< 1221�
I>'25J �� >������ ��� ,� '������S��� 0/���������� �� "�������%!���� '����� ���
'�? ����� ,���������� �� '�����%������ � ������������� �� ,� � �� ��
.�� )��/� +�������� �� 8����,����� '����� ( ��� �� 08,'(41%3
����� <3R99 ��� ��� 1225�
I>'2<J �� >������ ��� ,� '������S��� 0�� ����� �� "�������%.���� '����� ���
'�? ����� ,���������� �� '����� ������ � ������������� )*** ����� ��
,����� ��� 9�������� +����� 9@;AH:35R:23 (��� 122<�
I>'23J �� >������ ��� ,� '������S��� ,���������� 0�� ����� ��� &��� (������ ��
&���� ,������ 0B�������� ��� '�����%������ � ������������� )*** �����
�� '������ ;9@13AH:35R:23 )���!�� 1223�
IK.��41J ���� K��+����� �� .��+ ,� �!�����+ ��� �� ������� "������� ,����������
�� . �%!���� � ������������H ,������ &���������+����� ��� &���%0/������
"�������� �� ,� � �� �� -66. *���� � =������ �� ,����� ��� 9������
��� ,� ����� 0,9,46.3 ����� :;5R:5; 6441�
I��.K23J ,� �!�����+ �� ������ �� � .��+ ��� ���� K��+������ &���������+����� ���
����������� �� ���D'���� &����%.���� ,����������� �� ,� � �� �� .11$
)��/� '���� �� +�� �������� 0)'+41$3 ����� :<2R:9< 1223�
IL&,#25J >� L� ���� T� &��� >� ,� ��� ��� �� #������� >��� ���������� �� '��%
�!� '�����%������ � ������������� �� )*** ����� �� ,����� ��� 9������
��� +����� ����� 1654R16<; >����!�� 122<� ( ������� ������� �������� ��
,���� �� ��� 2�� ���P &��������� �� ' ������� ���� @�&'P25A ����� 655%6<;
� � 1225�
:4
![Page 48: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/48.jpg)
References
I�K21J #� ����� ��� (� K ���� #�������� ������ ���� �� '�������%&�������
,���������� �� '�����%������ � ������������� :����� �� ,����� ��� 9���
������ '�������� 16@6AH39R14< � �� 1221�
I�"2<J '� �������� ��� � "�������� 0B��������� �� � ������ (����� &����F������
'����� ��� ,������%��������� ��� 7 ����� ,�������� �� ,� � �� �� .11B
)��/� '���� �� +�� �������� 0)'+41B3 ����� 1::R1;: 122<�
I8�� 44J � 8���� ,� �!�����+ �� ������ ��� ���� �!������ ������� ��� (������
.������ � #��� �� 8�� �������� �� ,� � �� �� -666 )��/� +�������� ��
,����� (������� �� +����� ��� +����� 0)+,(++4663 ����� 141R143
(��� 6444�
I#02:J >��� # ��� ��� '��� 0������ ���������� �� &���� ,���������� �� � . �%
.���� � ������������ �� ,� � �� �� -6�� (����� )��/� +�������� �� '���
��� ( ��� �� 0)+'(4173 ����� 693R633 ��� 122:�
I��2;�J ��0� �������� ��� 8��� ������ ��7#H ( ����� 0�� ��� 0����� '�� �����
�� '�����%������ � ������������� �� ,� � �� �� + ��� )��/� =������
�� �������� (�������� ��� +��������� �� '����� ��� �� ������ �����
+����� 0�(+'?�+/123 ����� 641R649 ��� ��� 122;�
I��2;!J ��0� �������� ��� 8��� ������ #�� ,�������� ��� )�% ��� "�!��� &��������
,������� �� . �%.���� � ������������� #������� 8����� � �!�� ;24 &��%
� ��� '������ >����������� $���� �� 8��������� 7�� N��� 122;�
I=)#�25J '� =�� �� )���� 0� #����� �� '���� ��� (� K ���� #�� ', ('"%6 ,��%
�����H &���������+����� ��� ������������ &�������������� �� ,� � �� ��
--�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3 �����
6;R:< � �� 1225�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM :1
![Page 49: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/49.jpg)
![Page 50: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/50.jpg)
������
�� ��� � � ����� �� ���������
������ ������ �
�� ��� ������ � ������� �� ���� ���������+�� ��� ��� ������ �������� �� � � !��� ��
', ('"%6 ������������ �� ���� ������� �� �� ��� � �� �������� �������� �����������
���� ������ �������� �� �������� ����������� ��� ��� ������ �� ������������ �� �� ���%
���! ��� ������ ������ @>'�A ��� ����� ��� ! �%!���� ������+������� ���� ���� ���
!��� ���� �� ��� �����B� �� ! �%!���� � ������������� �� ���� �����B� ����������� ����� �
� �!�� �� ���!��� ������ �� ��� ��� �� ����!���� ��� ������ ! � !�������� �� �����
������%��+�� ���������
#��� ������� ��������� ��� ��� � �!�� �� ���������� ��� ��� ������ ������ �������� ��
��� ������� ��G ���� ��� ������� ����������� �� ��? ����� ��� ���%��? ����� ��������
����������� ���������� �� � ! �%!���� � ������������ =� ������� ��� ����������� ��
�� � ���B������� �������� ����������� ������? �� ������� ��� � �!�� �� ����������� (����
� !�������� �� ��� ��� �� !���� �� � ���� ����������� ���� �� ������� � ����%�/������
�������� ����������� �� ���� ��� ����������� �� � �� ������%��+�� � �������������
��� �����������
(������ ���� ����������� �� ������%��+�� ! �%!���� � ������������ �� ����������
#���� �������� ��� !���� �� � ����� ! � FB�� ��� ���%����!� ������+����� ��� ���� ��
���� ���� ��� ���� ������� &,$ ��� ������ ��? �������� �� ��� ������������ #��� ����
�� !����� ��������� ����� ����� ��+�� !�������� ��� F�� ���� ����� �� �� ���� ������
�� ��������� �� ���� ��� �� �����������%������ ����%�/������ ����������� ������+������
���� � ����� ���������
::
![Page 51: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/51.jpg)
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
>��� ����������� ��� !��� �������� �� ���� ���� �������� �� � ������������ ���
������������� ,������� ��� !� ���������� �� �������� �� �� ��������� "������� ��%
�������� ��� ��� ��� �� �������� ���� ��� ������ �� ������ ���������� ��� �� !� ���
��������� �� ���� ��� ������ �� ������ ���� ���������� ��� �� ������� �� !� ���� ������
����� ����� @���� I>'23JA� ���� �������� !���� �� ���������� ������� ����� ���%
��� ����� ������ I&&23 8�'23J ��� �� ��������� ���������� I�K22J ���� !��� � �%
������ ��� ������������� "�!��� ��������D�������� ������� ���� �������� ��� ����� �����
�������� ��� ������� ��� ��� ���� �� ����������� ���� !��� �������� ��� � ��������%
���� I&.2; *#25J� "������ ����������� �� ������ ������ � ������������ �� ����� ��
���������� ������ ���� ��� ���� �������� #���� ���!��� ��� ������ ��� ���������
�� ! �%!���� � ������������ � � �� ����� ������ !�������� I#02: #025J� ���� ����
��� !��� ���� �� ������ ����� �� �� �� ��� ������ �� ����������� �� ���� ���� �� ���������
#��� ������� ��� ��� �� ��� ��� � �!�� �� ���������� ��� ��� ������ ������ ��������
��G ���� ��� ����������� �� ��%���� ����������� ���������� �� � ! �%!���� � ��������%
���� =� ������� �� � ����������� �� ��� �� ��� ��%���� ����� ������� � .��� ������
���� �� ��������� =� ���� ��� � �!�� �� ���������� ���� 1 �� :6� #�� ��� ���� ������
�� !���� �� � ����%����������� ! � ���� ��� ���� �� ����� @��% ��� �/%����A ��� ����
����������� ���� �� ��� F��� ���� ( � !��� �� ����������� ��� ������ !������� �� ���
', ('"%6 � ��� �� ��� �� ��� ������� I=)#�25J� =� �� �� ���� ��� ���������� !����
�� ��� �� �� � ��� &���� ������� �� � ���%����������� ��� @��� ��� ���� �������
�� ��� ���� ����� ��� �������� �� ��A ������� �� !� � � ���!� �����������
#��� ������� �� ������+�� �� �����H '������ :�6 �������� ������ ����- '������ :�:
������!�� ��� ������������ ��� �- '������ :�; �������� � ���� ����������� ����- '��%
���� :�5 ��� ���� ��/����� �������� ����������� ����������� ���� �� � ������� ��� �����
���� ��� �������� � ��� ����%�/������ �������� �������� ���������- ����� �� '��%
���� :�< ���� ����� ��� � �����+���
��� )����� *���
,���������� �� ���������� �� ����� I.&21 &.2; &&23 >>'2: >'25 >'2< >'23
�,26 �!� ��.K23 �K29 �K22 �#2: �"2< 8�'23 '��93 '��36J ���� ��� ����%
���� ���� ������� ���� ���� �� �������� ��� ���� ��� ����� �� �������� ��� ����� ��
��� ��� !� ������ I&.2; L&,#25 �K21 #025J ���� ��� �������� � ������ �
����������� ����� ������ �� ���� ���� ������ ��� ���������� �� ��� ������� � �� ������
����������� ����� ������ �� ��� ����� ����� �� ��� !� ����� I&.2; *#25J ���� �
���!������� �� !��� �������� ��� �������� ����������� �� ���� 7�B� �� ������ ���� ���%
������ =� ��� � �� �������� ����������� ���������� ��� �� ��� ��� ���� ������ @ ��%
:; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 52: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/52.jpg)
Related Work
�� � �����������A�
+@������ ��� ���� �� ��� �� ��� ������� �������� �������� ���������� ���� ���
!��� ��������� �� ���� ������ ����� ��� �G. �� ���������� ��� ����������� ��� ���
��������� �� ����� ��� �� #���� ��/����� ���������� ������� ������� ��� ����� ����
!��� �������� I'��93 '��36J� =��� ������ �� ���� ������ �� ��� � ��� �G. �� �����
����������� =��� ������� �� ��� ������ �� ��� ��� � ��� � ���� ���� ��� �G. �� �����������
=��� ����� �������� �� ��� F��� ������ �� ��� � ��� �G. �� ����������� #�� �������������
�� ������ ����������� ��? ���� �� �B��� !�� @���A ��� ����� ���� #��� !�� �� ��� �� ����
�� � ����� ��� ��� !��� �������� !� ��� ��������� ���� �� ��� �� ��� ������ #��� !�� ��
����� ���� ��� ����� ��� �� ����� �� ��� ����� !� � �������� ������ ��� �� �� ��� ����
��� ��������� ������ �� ��� F��� ����� ( �������� �� ��� ��B� ����� ��� �� ��� �� ��������
��� !�� �� � !��� �� ����
�� I>>'2:J �� ������� ��? ����� ����������� ��������� ��� ��������� #��� ����%
����� ��������� ������� ��� � �!�� �� ������ ���� ����� ���� �� �������� @������
�� �����������A� #��� ��������� ���� ��� ��� �/���������� �� ��� �������� �� ��� �����
!������ ��� � �!�� �� ���������� ���� ���� ��� ��� �� ���� ���� ��� ��� � �!�� ��
���������� ����� �� ��� �������� �� �/������ ��� ������ ���������- ��������� �� ����������
#��� ��������� ��� ��� �� ���� !� �������� ����� �����������
)���� �������� ��� �� ������� !��� ��? ����� ��� ���%��? ����� ��������� ( ;���
'� � @ &A ��������� �������� �� � ��!� ������� ��� ,&%������� �� � ��� ����� �����
���� ��� ������� � ���������� !������ �� =������� � ��� ���� �� ��� ������ �� ��� &
�� �B�� ��� �� & ���� ������ ��� ��� ����� ����� �� �������� ���� ��� &� >��� ���������
��� �� !� ���� ��� �� � �������� �B�� ����� ��� ������� ���� �� �� ������� �� �������+�
��� ���������P� ������� �� � ������ �� �������� � ��� �������� ������� �� ���� ��� ��� ��� ��
���� ��� ��� �B�� ��� ������ =��� ��� & ��������� ��? ����� ��� ������ �������� ���
!� ��������� #�� ������� ������� @>�� ,�� ���� ����A ��� ������ ��� �� I.&21J
��� ��� ���� �� I&.2;J ���� ���� � ��������� !���� �� � �������� ,' ��� ��� ���
O ��%��%���� ����������� ���� �������� ��!����� ���� �� ��� ����� ������ ��� �����
���������� ��� �������� ����� ��� �� ������ �������+�!� �������� I>'2< �,26 �#2:J�
7��� ���� !��� ��� & ��������� ��� I'��36J ��� ������� ��? ����� ��������� "������
��� & ��������� ��� �������� ��� ��? ����� �������� ��� �� !� � ����� ��� ���� ���
��������� �� I'��36J ��� ������� ��? ����� �������� ��� �� !� ��/����� ���� ���� ������
�������
�������� I�"2<J ��� ��� � & ��!� ! � ������ ��� ��� ������� �� �� �%�������
��� ������ ���!��� ������F������ �� ��� �������� ���� ������ �� ��� �������� �� � �����
��� ���D�� ����B ��� ���� ��� �������� �� ���� ���� � ����� ���� #� �������+� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM :5
![Page 53: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/53.jpg)
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
�������� ��� & ��!� � �� ��� ����� ��� �� � ���� !� ��� ��� ����� ����� I�!� ��.K23J
�� �B������ �� ��� ������ � ������� @'������ 6�6�1A�
=��� ��� & �������� � ��� ���� ������ �� ��� & �� ����� ��������� =��� ����
������ ������� ����� ��� ���!�!���� �� F����� � ��� �� ��� & ��!� �� �����������
�� ��� � �!�� �� ����� ���� ��� ��� �B�� ���� "������ �� ��� ���������� �� �����������
��� ��������� �� !� ��� �� !� ����� ���� ���� �� ���� �� ��� ���� ������ #��������
�� �� � ������ ���� ��� ����� ������� ���� ���� �������� ���� ��� & ��!�� ��� ����
� & ���� ������� ������� ���� � @ &�A ��� �������� �� I�!� ��.K23J� $���� ���
����������� & ���������� &� ��� ������� �� ��� ��!� ����� ���� ������� �� ���
���� ����� ���������� ���� ���� ����%������ ���� �� ���� ��� & ��!�� )�%����
��������� �� ����� �� !� ���%��� !���F���H �� ������ ����� ����� ��� �� ��� �������� �
���� ���� & ����� ������� � �� � ����������� ��� ����������� &� ��� ��������
� &� ���� 3 ������� ��� ������� ���� !����� ���� � ����������� & ���� 516 ��������
#�� ���� ���� ������� � � ���� ���������� ��? ����� ������ ����������� �� ����� ����
&� @���� &��A ��� ������� ��� !��� ��� �� �� ���� ����� !��� �� ��� ������ ������
������ ���� �� ����������� �� ������ ��� ������� ��� ��� !� ���� ��� !� �� &%!����
����������� #��� &� ��������� ��� �������� �� �� ����������� ����������� ��� ���
���������� ���� ��� !��� ����F�� �� � � ����������� �������
8����� �������� ��� ������ ����� ���� �����B ��������� I8�� 44J ��� I8�'23J
�B���� ��� ���� �� �������� �� �������+� ��� ����� ��� ��������� ���� ��� �������� ��
��� ��� �� ���� ���� � ���� �� ����� ( ��/����� �������� �� ����� �� I�K29 �K22J� ��
����� �������� � ��� ���� ��� ��B� ������ @� ��������A �� ���� ��� ���� ������ ����������
=��� ��� ��������� ��� �� � ��������� �� ���� � ��� ��� � �������� �� ��� ���������� ����
�� ����� ��� �� ��� �� ��� �������� �� ��� �� ������ �� ����� � ������� �����
'�? ����� ��� ������ ����������� ���� !��� �B�������� �� ���� �� ����!�
>'� I>'25 >'2< >'23 &.2;J ����� ���������� ��� ������ ��� ��������� ���� ��
� � ��%���� ��������������� �������� 8�� �� �� I>'25 >'2<J ������ ���� ��? �����
����������� ��� ������� � ��������� ������ ����������� �� � >'� ����������� �������
�� ��������� ���� ������� ��� ��� ������ ����� #��� ��������� ���� ��� ��� � ��
����������� �� � >'� ����������� ����� ������ ���������� �� ��� ��� �� !� ��
! � �� ��� !����� � ����� � ��� � �� ! �%!���� � ����������� ����� ������ !��������
�� ������� #���� ��� ��� ��%����� ����� �� ! �%!���� ������ ������ � ��������%
���� I#02: #025J� "������ ����� ����� �� �������� ����������� ��� ��� �������� �
����� ��� �� ������ �� �������� ���� �� ��� ��� ��� ��� �/���������� �� ��� �������� ��
��� � �!�� �� ���������� ����������
=� ��� ���� �� &� �� ����� ������ �� � ! �%!���� � ����������� !��� �� �� ������
:< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 54: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/54.jpg)
Environmental Setup
�������H �� �� � ����� ��� ����� ��� ��� ������ ��� ��� ���� ��? ����� ����������� ��
��� ��� ������������� ���� �� ��� )� ��� ����� ���� ���� ������ ������ ��? �����
����������� &�� �� � � �������� ����������� ���������� ������ ��� ��� ����� ��%
��������� ��? ����� �������� !��������� '���� !�������� ��� !����� � ��������� �� ���
� �!�� �� ���������� ����� �� �� �������� ��� ������ !��� �� ��� ���������� �������
������! ���� ��� ��� &�D &�� ������������
��� ������������ !���"
#�� ������ ���� �� ���� ���������� �� � ����� �� ��� �� :�1 ������� ��� � ����� ������%
���� =� ��� ��� � ������ ���� 344 �"+ 8�'& ���������� �B�� ���� � ��,'%6 �'( �����
���������� ��� ��������� ���� �� � ���� ����������� ! �� > � �� ��� ������ ��� �%
����� ���� � � �B��������� ��? ��� �� ��� ��� � �����%��� � ��������� ���� !������ ����
������� =���� ������ �� ������ !� ���� � &�������� =���� . /�� @&=! �A ���������
�� ������!�� �� I��2;!J� (�������� �� I,#(29J ��� ����������� �� � ������ ���� �
=%��� � � �������� ��� !� �� ��� �����B������ !� ��� ����� � �����%��� � ���������
���� = ����� ������ ���? ����� &����? ���� � � ����� ��� �� �� �� ��� �����B�����
��� ����� �� � ������ ���� 6%��� � � �������� ���������� ������ �� ;44 �"+�
#�� ! � ��� ���� ������������ ��� �� !���� �� ��� >0& 9444 ��� 14444 (T, ���%
�� I(�26J� �� � �� �� 644 �"+ ���� :6 !��� ��� ��������� ��� 163 !��� ��� ���� �����
����� :�6 K.�� �� !��������� #�� �������� ! � ������� �������� �� �� � ������H 1�
8�? ��� � ��!�������� @; &,$ �����A 6� (������ � ������� ��� � @; &,$ �����A :�
8��� !��� � ����� @:6 &,$ �����A ;� #������� �� �� ��� �� 1<. @;B; M 1< &,$ �����A�
0��� ��������� ��� ��� ���� �� ������ #�� �/%���� ������%��� ����� ������ @ 6A ��
����%!��� ��� �����%������- ����� ������ !���� ��� ����� ���� � ����%!��� >���� . /��
@>! �A� 6 � ������ � �� ����� ���� ����� ������H � ���� ���� @ 1 ��� ������ ���
��������� ����A � ����� ���� @��� ��� ����� �� &=! � �� ��� �� 6A ��� � �������� �����
#�� F��� ��� @�� ����A �� �������� �� ��� &=! � ��� �� � �����%���� �� �� �����%������
����� @ 1A� #�!� :�1 ����� ��+��� ������ ��� ��� �� �� ��� � ��� ��������� �����������
&���� ��+�� �� !� ������� �� '������ :�:�6� &�������� �� 6 ��� >! � �� ���� ����
�� ������%!���� �0'� ����������� ������� I,,3;J ����� ��� �� ��������� ������
������ ��� �� ��� ! �� (������������ !��� ��+� ��� � �!�� �� ���� �� 6 ��� 1 ����
���� ��� ���������� � � �� 6 � ������� ��� ��� ���� �������� !������ ����� �����
#�� &=! � ��� ���� ��� ��������� ������ !������� �� ��� ���� 1 ����� !���� ���
��������� ����� ���������� ��� ��� �!� �� ���������� �!����� ����� ������� #��� ! /�� ��
������� !����� �������� � ��� �� ��? ����� � !������ ��� ��� ��������� ���� ���� ���
&=! � �������� #��� !������ � �� !���� �� ��� � ����� ��� (��� (T, (�������� ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM :9
![Page 55: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/55.jpg)
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
�������� ��� ����������� ������ ����������� I&��2<J�
Dbuf
AP
PAbuf
L1 lookup
CPU
Main Memory
miss
L1
L2
L2 lookup
64B-blockoff-chip Level 2
CWbuf
16 B
miss
miss
Level 1
on-chip
32B-block
8 - bankM0 ... M7
split-transaction
BUS
Figure 3.1. Multiprocessor system used for comparing prefetching techniques. The Bases System (no
prefetch) excludes the dashed components. (Address predictor and Prefetching Address Buffer).
����� �$���% ��� ������
#�� (������ ,�������� @(,A ��� ��� ,������� (������ . /�� @,(! �A ���� � ���
�������� � !������� =� �������� ��� ������� �� � (������ ,��������� ��������� �� '��%
���� :�6H
� .3 +@������ ����� 0��3
#��� �� ��� ������ ��? ����� ����������� �������� �� �������� �� I'��93J
� -3 ;��� '� � 0;'3
#��� ��������� �� !���� �� � ����������� ��� &���� I.&21J� #�� ��� &���� ���
������ ��� ������ ����������� �� �������+� ��? ����� ������ ����� ��� ����� ���
��� ����B ��� �������� ��������� "������ �� � ������� �� ��� ������ � ������� ��
�� ��� ��� ��� ��� ���������� �!���� � � �� ��� �������� ���B������� �� ��� �����
�������� �� ��� ����������� ���� �� �� ��� � � �B��������������
:3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 56: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/56.jpg)
Environmental Setup
� ���� �� ��" � ������� ���������
���; �-����� � ����
/��� /� �- 95 4 *��.� 8$� *��.< ��������%��
��� $? $? 95? $#$ 18� @���, � ���=����������
�5 ���,� $? ��A@� ,�� +� �1 ��� ��*�� 2 $=@�-< 8$� *��.
4? B�� 8$� +� *�� '��� 3��-
'*�+ �'���- �5�1? ,�� +� �1 8 ���� 7!73
��C��� 8$�A����-
�0*�+ ���������" 1? �� ,�� +� �1 8 ���� 7!73
0���� ��C� 8 ���� 95�A����-
�1 ���,� 1? ��A@� ,��D ��� ��*�� 2 1=@�-< 95� *��.
5? B�� +� �5 '��� 3��-
��*�+ ����+���, 1 8 ���� 7!73< B���� ���������
������� ��C� ������- ������
��� ���,��? 1 18 ���� 1=@�- � ���� ��, +� � ����"
��< �� < �� � ������� ���������
Table 3.1. Default sizings, basic timing and structure for memory, bus, caches and buffers.
� 73 ;��� '� � ���� ������� ������� 0;'�3
#��� ��������� �� !���� �� � ����������� ��� &���� ! � ��� �� ��%���� ���������
����� I�!� ��.K23J�
� 23 ;��� '� � ���� ������� ������� ���� �@������ ����� 0;'��3
#��� ��������� ��� ��� �������� �� I�!� ��.K23J� �� ���!���� #� ��� &� ��
������� �� ������ #�� ��������� �� ���!����� !��� ���������� �� ���� �� ���
�!� �� ������ ��� ��� ��? ����� ��� ������ ���������� ������ !� � ����� ��� ! �
��� ��? ����� �������� ������ ���� ��/����� ��� ��������
#�� ,������� ' !������ �� ���� ���� �� ������!�� �� IK.��41J ��� ����� �� ������
(�������� �� ��� �������� �� ���� ������� ��������� � ������ �� ������ �� �������� ��� ��
�� ��� �� �� ��� F��� ���� >�������� ����� ��� &,$ ������� ��� ���������� �� �������
�� ������ ( ��� ���� � ��� ����������� �������� ������� � ���� @!��� �� &=. � ��� 1A
� ���� ��� ��������� ������� �� ��� ,(! � ����� �� ������� @���� ��� ����� ��������A
��� ��� ��� ���� �� ��� ������ ��� ������ 7� ����� �������� ��? ��� �� ��� �� �� ���
������ ��� ��� ��� ������ � ��� �� ��������� ( !��� ���������� ���� ���� ������ ��
����� �� !��� ����� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM :2
![Page 57: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/57.jpg)
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
����� "��#���� ��� !�� ������$
=� ���� ������� � � !��� �� ��� ����������� ��� ���� �� ��� ������ � ������� @'������ 6�:
��� 6�;A� =� ���� ��� ��� �� ��� ������ @��# ��� 8���BA ��� �� � ����������� @���
8�������� )���� ��� )����%���A� #�� ����������� ���� !��� ������� �� ���� � ��B�� ��
����������� ���� ��/����� ���������������� ��� �������� )���� ��� !��� ������ !��� ��
���� ���� 34V �� ��� �B�� ��� ���� ���� � ��? ����� �������� �� )����%��� ���
���������� �� ��? ����� ��������� �� � :4V ����� �� ��� ��� ���������� �� ����� ���
������ �������� ��� ���� ����������� 8���B ��� ��� ��� ��� �� ��� ����������� ����
��� ���� ���������� �� �������+�!� �������� @���� ���������� ��� ������� ���� ����
���������� �� �� !��� ����� !��� 54VA� 8���B ��� 8�������� ��� ��� ��� ���������
����������� ���� ��� ����� ���������� �� ������ ��������
'���� �� ����������� �� ��� �/���� �� ���� ����������� �� ��������� ��� ���� �� !���%
����� �������� �� ����� ����� ���������� �� �� ����� ������ ����� @���� I>'2< #02:JA�
=� ���� �������� ��� �B��������� ���� ��� ����H '�� 1 ����� � ������ ���� �������
������� ��� ������ ������ ���� '�� 6 ���� ��� ����� ��+�� ����� �� � ����� ������+�%
����� @��� #�!� :�6A ='1 ��� ='6 ��� ����������� ��� ������� ��� ��������� �������
���� ������ �� I=)#�25J ��� :6 ����������� #�� ��+� ����� !������ ���� �� 1H1< ��� '�� 1
��� 1H:6 ��� '�� 6�
���1 ���5
�1 �5 �1 �5
7// 5 )� � 0�1 95 )� � 0�1 4 )� � 0�1 528 )� � 0�5
77�
3���� 4 )� � 0�1 154 )� � 0�1 95 )� � 0�5 1/� � 0�5
3����=��
�������- 5 )� � 0�1 95 )� � 0�1 4 )� � 0�1 528 )� � 0�1
����# 4)� � 0�1 154 )� � 0�1 95 )� � 0�1 1/� � 0�1
Table 3.2. Selected cache sizes for the two experimental sets and their relation with the working sets.
��$ ���+������� ����
�� ����� �� ��� ��� � ����������� �������� ��� ���� ��������� ���� �� �� ��� �B�� ����
����� "������ �� !����� ��������� ��� ��� �� ��� �� �� �� ����� ������� �� ������� ��
���� ������ �� �� �� ��� ����%����� ��� �� �B���� ��� ����������� ���� ��� ������������
��������� �� I�!� ��.K23J �� � � ����������� ������� #��� ��� ���� ���� �� ��� ��
����+� ��� !������ � �� � �������� ��������� �� � � ����������� ������ ���� � ������
��������� �� ��� ����� ����� #�� ����������� ���� �� ����� �� ��� �� :�6� ( ������
�� ��� ��� �� ��� ������� �� ��� � �!�� �� ��� ����� �������
;4 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 58: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/58.jpg)
Performance Model
useless
L1 prefetch miss ratio
useful useful useless
Main Memory traffic ratio
P/N
L1 demand miss ratio0
from L2from Mfrom L2 from M
Figure 3.2. Performance model showing the demand and prefetch miss ratios of interest.
#�� !�� �� ��� ����� �� ��� +��� �B�� �� ��� 1 ��� ���� ����� ���� ���� ��� ������
�������� ������ ���� ���� ������ �� ���� 6 @;. ����� ���� ���� H ��� � G ���
;-A�
#�� !�� �� ��� ��� �� ��� 1 ���� ����� ��� �������� ��? ���� @;. ��� � ���� ����A�
�� ���� !�� ������ ��� F��� �����F�� ��������� �� ��� � ��� �� ��� @���� ���� �
;-A ��� � ����� ������� !� ����� ����� @����� ��� �����AH ;. ��� � ���� ���� M
��� � @ ��� U �����A U ��� ;- @ ��� U �����A� ( ����� �������� ����� ����
���������� ! � �A ����� �������� !� ��� ��������� �� !A ������� �� ���������� !�����
!���� ��? ������
7��� ���� !� ������ ��� ��� ��� � ���� ������ @������ ��� ��������A �� �!���� ���
���� ������ ��? ���� ��� ���� ��������� �� ���� ���� ��Æ ����� ���� ��� ��� )�
��� ����� ���� ��� ���� !�� ����� @ 1 ������ U 1 �������� ���� �����A �? �� ��� 6
��? ���� ��� ���� ��������� �� ;- ��Æ ����� ����� ��� � �!�� ,D7 �� ��� ��� �� ���
� �!�� �� �������� ��? ���� ��� ����� 144 ���� � ���� �� �� ��� ��� � ����� �� �� 1�
#�� ������ ��� �� ��� �������� ������ �� �� ��� �� ��� �B�� ���� ����� #��� ���
��� !� �������� !�H
� >��������� ��� 1 ���� ����� � � �� &,$ ������� @;. ����� ���� ����A�
� L������ ��� ;- ��Æ ���� ���
� L������ ��� ���� ���� ��Æ ���� ���
�� � ��� ������ ���� !�������� ������������ ����� ����� ���������� � �� !� !�������
,������� ���������� ��� !� ���� �� ��� ���� ��� 1 ������ ���� ����� ! � ���� ��� ���
��� �� ��� �B�� ���� ���� �� � ������� �� ���� �������� ��� 6 �� ���� ������ ���� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM ;1
![Page 59: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/59.jpg)
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
� � �� ����� ����������� �� � � ���� �� ������ ���������� �� ������ �� � ����������
���� � ��� ���%���� !�� �� ����� ���� ��� ����� ����� � �� !� ���������� ����� ��
��� � ������ �� ���������� �� ��� ����� !�� ������� ������� �� ��� ��� ���� �������� ��
��� !�� ����� � ����������� �� ����� ���� ��� ����������� ��� ��� 1 ������ ���� ������
( ����� ����� ���������� ��� ����� !� ������F�� ���� � � ����%����� ����������� �����
#�������� �� �������� � � ���� �� !� ��� �� �������� ���� �� ��� �B���� ���� �
������ �� �����������
��' ���������
��&�� ���� �$���%
.����� ��� ����� ��� ����������� ���������� �� ���� ��� �� ��� ��� ������ ����� �
��������� #�!� :�: ����� ��� @;. ����� ���� ����A ���� ��� �� :�: ����� @+�����
���� �� � �� ��� 0��3 �� ',I � �� ��� ��� ����������� 0#I3A� #�� � �!�� ��
���������� ������ ���� 1 �� :6�
#�� ���� �������� �� ��� #�!� :�: ��� ��� �� :�: ���� ��� �������� ����� �� ���
����� �� ���� ��������� �� ��� !� �!������ ���� ��� ��������� ����� �� '�� 1 ��� !���
������� �� ����� �� ��� � !������� ���� ������� =��� ������ ��� � �!�� �� ���������� .$
����� ��� ����� �� ������ ����� ������ ��� �� ��� ��� )����� )� ��� �������� ����
������ ��� .$ ��� � �� ���� �� '�� 6� #� ��������� ���� ��� � �!�� �� ���������� �� ����
����� !��� �� ���� ���������� ������� ��� ��� ������ ! � ��� ���� � �!�� �� ������
!����� #�� ����������� ��� ������ �� ��� ! � ��������� ��� �/��� �� ������ � �������
��!� ����� ��+� ���� �� ���� ���� ����������� =� ���� ��� ��� ���� ��� �����������
����� ���� ������� �� ��� ���� � �!�� �� ������ ���������� ��� ���� ������� ��� �������
��� � �!�� �� ����������� >�/������� ��� ������!� ���� ����������� �� ������ ��� ��
�� ��� ������ � ����� ��������� �� �����
#�� .��� ������ ���� ������ @#�!� :�:A ����� � ������ ���!���� ���� ������������
�� ��� ��������� �� ��� #��� ��� � �� ����������� �� � 1< ��������� ������ �� ����+�
��� ���� ������ �� ��� ���� ��� �� ����������� ������������
��&�� '��������� � ����� ��� (�����������
��� ���
������ �� �� ����+� ��� ���� ������� ��� �� :�; ����� ��� ����%������ �� ��� �����������
�� '������ :�:�6 ���� ��� ����������� ���� ������!�� �� '������ :�;� =� ���� ��� �� ���
��� �� � ���������� ����������� ����������� ������� ��� .��� ������ ��� ��� 1< �����������
;6 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 60: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/60.jpg)
Evaluation
� � � � �
1
10
100
1 4 8 16 32
� � � � �
1
10
100
1 4 8 16 32
� � � � � �
1
10
100
1 4 8 16 32
� � � � � � � � �
1
10
100
1 4 8 16 32
� � � � � � � � � � �
1
10
100
1 4 8 16 32
� � � � � � �
1
10
100
1 4 8 16 32
! ! # $
1
10
100
1 4 8 16 32
% # $
1
10
100
1 4 8 16 32
' ( ) * + # $
1
10
100
1 4 8 16 32
' ( ) * + - / + # $
1
10
100
1 4 8 16 32
1 * 2 3 / 4 3 5 6 # $
0.1
1
10
100
1 4 8 16 32
1 * 2 3 7 # $
1
10
100
1 4 8 16 32
8 9 ) ) 2 : 9 ; = % *
Figure 3.3. Speedup, Ta (cycles) and BU (in %) vs. number of processors, for the Base system.
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM ;:
![Page 61: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/61.jpg)
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
&� *�� + �������
95 18 4 $ 1
7// ��� 1 514 559 55$ 556 594
��� 5 4� 41 45 45 46
77� ��� 1 $4 $4 $4 $4 $�
��� 5 5: 5: 5: 5: 5:
3���� ��� 1 192 19$ 196 1$� 192
��� 5 68 :: 159 116 15$
3���� �� ��� 1 11� 11$ 115 114 1$2
��� 5 4$ :2 :: 1�2 195
�������- ��� 1 155 151 158 118 15�
��� 5 2$ 29 $: $4 $9
����# ��� 1 42 64 6$ 61 61
��� 5 28 28 28 22 22
Table 3.3. L1 demand miss ratios of loads for the Base system.
) � �!���������� ���H
� =��� �������� ������� ��� .��� ������ ��� ���� ������ ���� ����� ������ ��
��� ���� #�����% '�? ����� ����������� @#� ��� &��A �������� ���� ���� �� ��#
��� )���� 7���
� =��� ������� �� 1 ������ ���� ����� ��� �������� ���������� ��� !� ������� ����
��� ��� ��H �A & ��� &� ��� !A #� ��� &��� #�� ������ ��� � ��������
�������� ��� ������ �B���� ��� ��� ��� )���� 7�� ��� ��� �������� ���� ������
����������� �� '#8 ��������
� & ��� &� �������� � ��� � �!�� �� ����� �������� ��? ����� )� ��� �����
���� ��� #� ��� &�� ��� ������� ���� ����� ���������� ������� ��� �����
����������� ���� � ��� �������� �� ��? ����� ������� @��� ��� 8�������� ��
��� �� 6�: �� ������ � �������A ����� ���� ���� 6 �� 1 � � �� ����������� ��
������ ��� ���� ��� ����� ������������
� &�� ����� ���!���� ��? ���� ���� ��� ���������� � �� ����� ��� ������� ����%
� �� �� 1 @,D7A� )� ��� ����� ���� ,D7 �� & ��� ������� �� ��� �������+��
�������� ��� �� ��� � �!�� �� �������� #� � ���� ���� ,D7 �� ��� ���� �� !���
'��� ��� ���� ���������� ���� ��� �� ����� ��+�� ��� ���� ��/������ 8����!�� ���%
���� ���� �� � � ������ �������� ��? ���� �� ��� ��� ��� ��������� ����� �� ����
� ��������� �������� ���� �� 1�
;; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 62: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/62.jpg)
Evaluation
� � � � � �
-20 -10 0 10 20
� � � � � � � � �
-20 -10 0 10 20
� � � � �
-10 -5 0 5 10
� � � �
-10 -5 0 5 10
� � � �
-4 -2 0 2 4
� � � � � �
-10 -5 0 5 10
� � � � � � � � �
-10 -5 0 5 10
� � � � � � � � �
-10 -5 0 5 10
" # % ' ( * ,
-10 -5 0 5 10
useful from L2 useless from L2 useful from M useless from M from M from L2
�������������� ��� ������
� � � �
-40 -20 0 20 40
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
- . �
36.528.125.910.3
- . �
8.92.25.76.5
- . �
22.116.014.56.2
- . �
23.212.931.910.4
� � � �
-5 -3 -1 1 3 5
- . �
11.27.2
20.35.3
- . �
44.717.531.928.3
- . �
8.15.7
20.33.1
- . �
27.620.725.910.3
- . �
44.628.925.414.8
� � � � � � � � �
-15 -10 -5 0 5 10 15
- . �
35.222.525.916.1
- . �
18.33.15.7
14.1
- . �
25.1
16.714.5
8.9
Figure 3.4. Demand and prefetch miss ratios, showing the behaviour of the Base system and Ts, LC,
LCm, LCms Prefetchers for 16 processors. On the left, we report the number of prefetch request per
every 100 loads (p/n)
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM ;5
![Page 63: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/63.jpg)
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
50����� $!�
7�� �� � ��� � �� ��� ����������� �� ����������� ������� ��� .��� '������ #�!� :�;
����� ��� ����� �� @����������A ������� �� ��� .��� '����� �������� !� &� &��
��� #� ��� 1 ; 3 1< ��� :6 ���������� ������������ 7��� ���� ��� ����� � � �!��� ��
#�!� :�; ���� ��� �B�� ���� ���� ����������� �� ��� ������ ���� �������� ���� �������
�� ��� ���� ������ ����� � �������� ��� ���� ��� ���� � �!�� �� ����������� #� �
����� �� ��� � ����� � �!�� �� ���������� ��� ��� �������!� ���� ����� ��� ����� � �!��
�� ����������� 7 �!��� �� !�� �������� ��� !��� ����� � ��� � ����� � �!�� �� �����������
"������ �� �� ��� ���� ��� �� ��� & ����� �� �� ��� !��� ���������� ��� �� 8��������
@1< ���������� '�� 1A ��� �� �������� ����������� ��� ���� ��� ������ ��� �� 8���B @:6
���������� '�� 1A�
8������� !������ ������� ������! ���� ��� ����������� ��� !� ����� �!������ ���
�� ������� ������ #� � �� ��� ��� �������� ���� ��� ������ ���������� �� ������ �������
@��� ��� )���� 7��A ������ &� &�� �� !��� ������� �������� ��� ������ �� ������
���� ����� ��� ������� ����� !����� ���� #� @#�!� :�:A� �� )���� @��� ����������
���� � ������ ���������� �� ��? ����� ��������A #� ��������� ���� ������ ������ ! �
� ��������� &� ��� &�� ��� �� ; ���� 14 ����� ��� ��/������� �� ��� ����� �� �������
�� ��� .��� '����� @#�!� :�;A ��� ����� ������!�� ��� ��� ����� ����� ����������� �����
�������� ��� ��� �� ����� ������ �� &� ��� &�� ��� �� ��� ��� �� ��� !��� ����������
�� 3:V �� ����� ��������� ����������� ���� ������� �� ��� .��� '����� �� 94V �� ������
&� &�� ��� #� ���� �������� ����� �� ����������� �� 3�:V 2V ��� 16V �� ������
#���� ��� 5 ����� @:VA ����� � ����������� ������� ����������� ������� �� ��� .���
'������
' ����� � �� �� ���� ��� !��� ��� ���� &� ��� &�� �� ���� ���� �� �!���� ��
������� ������� ����� �� �� 2�29V 5�4:V 6�5;V ��� 4�;:V ��� ; 3 1< ��� :6 ����������
����������� ����� #� ����� 2�65V ;V 4�19V ��� %5�66V� #�� ������������� ���� ��
&�� �� ��� ���� 6; . ��� & ����� I��.K23J �����+��� ��� ���� ;44 . � � ��� ������
���� ��� � !�� ��� 1 ��� ��� � �������� #�� #��� ���������� � ���� ���� ���������
��� ����� ��+�� �� ���� ���� ���� �� '�� 1 ��� � ������!� ��� ����������� ��� @����
��������A ��+�� ��� �� '�� 6� &����? ���� �� !����� �� �� ����� ������������� � &��
��������� ����� ��� ��? ����� ������ ��������� �� � !� ������������ !� ��������
������ !� ��� ���������� �� ��� �������� #��� �������� �� � !� ����� !���� �� ���
� �!�� �� ���������� �B�� ���� ��� ���������� �� ��� ��������������� �� ��� �����������
�� ����� ����� ����� ��� ��? ����� ���������� ���� ���������� ����� �� !� ���� � ���
�������� ! � �� ���� �� �����
;< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 64: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/64.jpg)
Evaluation
��� 1 ���5
�� �� � �� �� �� � ��
1 ��� 1:5 =1$6 �� � 16$ �:6
$ ��� �:2 =11: ��� 1$2 �85
7// 4 � �99 =515 ��� �85 =��:
18 � =$29 =6�$ ���� =�84 =�85
95 ���� =161� =1694 ��� =5�$ =1:$
1 6�� ���� 45: 84� ���� 848
$ 1$5 ��� 268 141 �� $45
77� 4 521 96� ��� �21 ���� ����
18 11� 11� ���� ��� =$92 =911
95 =�$9 =16$2 =16�5 ���� =1$12 =1$89
1 1882 55:6 ���� 1492 5$�6 ���
$ 1559 � �� 1254 185: 1:26 ��� �
3���& 4 5:� $42 ��� 4$5 ����� 11�9
18 424 ���� 8$1 ��� 589 589
95 =156 =984 =511 ��� =524 =142
1 ��� � 52�6 1:5: 5$:8 ����� 5$29
$ 5�95 ����� 5192 1628 ���� 5�42
3� &3& 4 ��� 898 82$ 1�48 ��� � 155$
18 ���� =5$1 =528 ��� 115 181
95 =��: =$64 =94$ =1$$ =94� =59$
1 �6: � 5$1 �9: ��� 1�2
$ 92$ �� 924 ���� 158 �:�
��'!3�!�E 4 1�$ ���� 149 �:� ��� �44
18 =�2$ �5$ =�16 �82 1�8 ����
95 ���� =�91 =1$� �89 ���� =�52
1 486 ���� 159: 1982 5�1� ����
$ $�9 ��� 8�: 648 ���� 1595
��'!F 4 5�1 ��� 19: �14 ��� $91
18 =�89 =�8: =�42 188 ��� 599
95 =154 =55: =555 �22 ��� ���
Table 3.4. Speedups of LCm and LCms and Ts relative to the Base System
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM ;9
![Page 65: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/65.jpg)
Chapter 3.Hardware Prefetch in Bus-based Multiprocessors
��, !�����(
�� ���� ������� �� ���� ����+�� �� � ����%�/������ �������� ����������� ������? �� ����
��� � ����� �� � ! �%!���� � ������������ #���� �� � �������� ����������� ����������
���� !��� ������ ������� � ������ ���� �� �������� ������� ��� � �!�� �� ���������� ����
1 �� :6� ��� ��� �B��������� � � !��� �� ��� ', ('"%6 ����������� ���� !��� ��� ���
��� �B��������� ���� ���� !��� �������� ��� � ���%��� ����� ������� ) � ��� �� ����
���� ��� ��� ����������� �� ��� ��/����� ����������� ������ ���� �� ��� ��������������� ��
��� ����������� ���� �� ��� ����� ��+��� &�� ������� �� !� � � ���!� ���������� ����
��� �� �� �������� ����������� �� ���� ����� ����� ! � ���+����� �� ���� ��� ������ ���
��� �������� �������� �� ��� ���� ��������� �/���� ��!� ������������
)!������� ��� �� ���� &� ��� &�� �������� �� � ����� ����������� �� &��
��������� ����� ��? ����� ����������� ��� !� ��������� �� ������������ !� �������� ����
�������� �� !� ��� ����������� #����� ��� !��� ���� ��� ��� ����������� �� �!���� ��
������� ������� ����� �� �� 2�29V 5�4:V 6�5;V ��� 4�;:V ��� ; 3 1< ��� :6 ����������
����������� �� � �� � �� ���� ����������� � ! � ���� � �������!� !�������� ��� �
������ ������%��+�� ! �%!���� � ����������� ����� � ���������� ��? ����� ����������
����� 2�65V ;V 4�19V ��� %5�66V�
�
;3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 66: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/66.jpg)
��� �����
I(�26J .� 8� (���� ��� &� ��� ������ #������� >���������� �� ��� >0& 9444 ���
>0& 14444 (T, ������ 9������ � ��� �� :����� ;@;AH1R1 '����� ��� �
1226�
I.&21J �� � .��� ��� #��� &���� (� 0/������ ��%���� ,�������� '����� �� 8�� ��
>��� (����� ,������ �� ,� � �� +�� ��������/1. ����� 19<R13< 1221�
I&.2;J #��� &��� ��� �� � .���� ( ,���������� '� �� �� '������� ��� "�������
>��� ,���������� '������� �� ,� � �� �� -.�� (����� )��/� +�������� ��
'����� ( ��� �� 0)+'(/123 ����� 66:R6:6 (��� 122;�
I&&23J &�"� &�� ��� &��� &�� ��� "������� ,���������� ��� ,������ >��� 8����%
������ �� ,� � �� �� .11$ )��/� '���� �� +�� �������� 0)'+41$3
����� :99R:3; 1223�
I&��2<J >����� 0? ������ &����������� (��� (�������� �� "���!���� ������� :�
)���!�� 122<�
I>>'2:J �� >������ �� > !��� ��� ,� '������S��� ��B�� ��� (������� '�? �����
,���������� �� '����� ������ � ������������� �� .117 )��/� '���� ��
,����� ,� ����� 0)',,4173 �� �� 1 ����� 5<R<: ( � �� 122:�
I>'25J �� >������ ��� ,� '������S��� 0/���������� �� "�������%!���� '����� ���
'�? ����� ,���������� �� '�����%������ � ������������� �� ,� � �� ��
.�� )��/� +�������� �� 8����,����� '����� ( ��� �� 08,'(41%3
����� <3R99 ��� ��� 1225�
I>'2<J �� >������ ��� ,� '������S��� 0�� ����� �� "�������%.���� '����� ���
'�? ����� ,���������� �� '����� ������ � ������������� )*** ����� ��
,����� ��� 9�������� +����� 9@;AH:35R:23 (��� 122<�
;2
![Page 67: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/67.jpg)
Chapter 3.Hardware Prefetch in Bus-based Multiprocessors
I>'23J �� >������ ��� ,� '������S��� ,���������� 0�� ����� ��� &��� (������ ��
&���� ,������ 0B�������� ��� '�����%������ � ������������� )*** �����
�� '������ ;9@13AH:35R:23 )���!�� 1223�
I�,26J ��=�&� � ��� ��"� ,���� '����� >������� ,���������� �� '���� ,����������
�� ,� � �� �� -%�� �)'>? ����� 146R114 1226�
IK.��41J ���� K��+����� �� .��+ ,� �!�����+ ��� �� ������� "������� ,����������
�� . �%!���� � ������������H ,������ &���������+����� ��� &���%0/������
"�������� �� ,� � �� �� -66. *���� � =������ �� ,����� ��� 9������
��� ,� ����� 0,9,46.3 ����� :;5R:5; 6441�
I�!�J ,�!� �!�����+� K������� � ������ � ,��!� �? ��� "������� �� �������� &����
����������� ,��>� #����� $���������� �� *�����+� >����������� �� ��%
���������� � ����������� �� '�������� � � 1223�
I��.K23J ,� �!�����+ �� ������ �� � .��+ ��� ���� K��+������ &���������+����� ���
����������� �� ���D'���� &����%.���� ,����������� �� ,� � �� �� .11$
)��/� '���� �� +�� �������� 0)'+41$3 ����� :<2R:9< 1223�
I�K29J >� ��������� ��� >� K� ����� ,���������� $���� ������ ,����������
�� ,� � �� �� -2�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(4153 ����� 656R6<: � �� 1229�
I�K22J >� ������ ��� >� K� ������ ,���������� ���� ������ ,���������� )***
����� �� '������ ;3@6AH161R1:: ��!� ��� 1222�
I�#2:J N� ���� ��� )� #����� '��� ����� ,����������� �� ,� � �� �� .117 )��/�
'���� �� +�� �������� 0)'+4173 ����� 1R11 122:�
IL&,#25J >� L� ���� T� &��� >� ,� ��� ��� �� #������� >��� ���������� �� '��%
�!� '�����%������ � ������������� �� )*** ����� �� ,����� ��� 9������
��� +����� ����� 1654R16<; >����!�� 122<� ( ������� ������� �������� ��
,���� �� ��� 2�� ���P &��������� �� ' ������� ���� @�&'P25A ����� 655%6<;
� � 1225�
I�K21J #� ����� ��� (� K ���� #�������� ������ ���� �� '�������%&�������
,���������� �� '�����%������ � ������������� :����� �� ,����� ��� 9���
������ '�������� 16@6AH39R14< � �� 1221�
I�"2<J '� �������� ��� � "�������� 0B��������� �� � ������ (����� &����F������
'����� ��� ,������%��������� ��� 7 ����� ,�������� �� ,� � �� �� .11B
)��/� '���� �� +�� �������� 0)'+41B3 ����� 1::R1;: 122<�
54 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 68: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/68.jpg)
References
I,,3;J �� '� ,��������� ��� �� "� ,���� ( �� )������� &�������� '� ���� ���
� ������������ ���� ,������ &���� ��������� �� ,� � �� �� ..�� (�����
)��/� +�������� �� '����� ( ��� �� 0)+'(4$23 ����� :;3R:5; � ��
123;�
I,#(29J ��'� ,�� ,� #���������� ��� '��� (���� #�� ������ �� ����� �����%
��� ,������� ��� � ����������� ,���������� ��� '�� ����� ������%
����� �� 7� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4153 ����� 96R3: ��!� ��� 1229�
I8�� 44J � 8���� ,� �!�����+ �� ������ ��� ���� �!������ ������� ��� (������
.������ � #��� �� 8�� �������� �� ,� � �� �� -666 )��/� +�������� ��
,����� (������� �� +����� ��� +����� 0)+,(++4663 ����� 141R143
(��� 6444�
I8�'23J (� 8��� (� �������� ��� K�'� '���� >��������� .���� ,���������� ���
����� >��� '�� �� ���� �� ,� � �� �� $�� )��/� '���� �� ( ��� ����
+����� �� ,�������� ;������� ��� ?������ +����� 0(+,;?+41$3
����� 115R16< )���!�� 1223�
I'��93J (�� ��� '����� '�? ����� ,������ ,���������� �� ������ "�����������
)*** '����� 11@16AH9R61 >����!�� 1293�
I'��36J (� �� '����� &���� ��������� �� '�������� +���� ����� ;9:R5:4 '��%
���!�� 1236�
I#02:J >��� # ��� ��� '��� 0������ ���������� �� &���� ,���������� �� � . �%
.���� � ������������ �� ,� � �� �� -6�� (����� )��/� +�������� �� '���
��� ( ��� �� 0)+'(4173 ����� 693R633 ��� 122:�
I#025J >��� # ��� ��� '��� 0������ 0/������ &���� ,���������� �� . �%.���� � %
������������� ('� ����� �� '����� +����� 1:@1AH59R53 ��!� ��� 1225�
I��2;J ��0� �������� ��� 8��� ������ #�� ,�������� ��� )�% ��� "�!��� &��������
,������� �� . �%.���� � ������������� #������� 8����� � �!�� ;24 &��%
� ��� '������ >����������� $���� �� 8��������� 7�� N��� 122;�
I=)#�25J '� =�� �� )���� 0� #����� �� '���� ��� (� K ���� #�� ', ('"%6 ,��%
�����H &���������+����� ��� ������������ &�������������� �� ,� � �� ��
--�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3 �����
6;R:< � �� 1225�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 51
![Page 69: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/69.jpg)
Chapter 3.Hardware Prefetch in Bus-based Multiprocessors
I*#25J *� *���� ��� �� #������� '������� � ����� �� (���������� �� '�����%
������ � ������������H ������ .������ ��� K�� � ,����������� �� ,� �
�� �� --�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3
����� 133R122 � �� 66R6; 1225�
56 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 70: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/70.jpg)
������ !
����� � � �� ����� ���������� ��
�������� ��� ����� � !
������ ������ �
8�� ������ ��� ��������� ��� ����%���� ���� ���������� �� ���� �������F� ������ 0�%
������� ������+����� �� ��� ������ �� � ������� �������������� ��� ��� ������+�����
�������� ��� ������ ������� ������������ $����� ����� ����������� ��� ����� ����%
��+����� ��������� ��� ��� ����!��
�� ���� ������� �� ������� ��� ��������� �� � ����� ���� �����F����� ������% � ���%
�� ��� ����� ��� ����� �� ����!� �� ������%������ � ������������� #�� ��? ���� ��%
������� �� ������� ��� ����� ���F��� �� ��� ��������� ���������� 0B��������� ��� ��
!���� �� ��� ������ ���� ���� ��� �������� � ����� �� ���� �/������� =��� ������%
����� ��������%��� ��� ����� ������+����� ������� ������� ����� �� �� ��� 6�9 ��� 1<
���������� � � ������ ������� ������� ����� �� �� 9�<�
$�� �����������
> ���� ��� ��� ������ ����������� ���� �!������ ���������� ��� ���� ������+���
��������� ' �� �������� ��� ������ ��� �B���� �������� �� ��? ����� ���������
#��� ��� ������� ����� ��������������� �� ��� �� �� ���� ������ ������ ����� ��
�� ��� �� ������ ����� ���������
�� �������F� ����� �� ��������� ���� �� ���������� ���� �������� ���� ��������� ��
������+� �� �� ���� ����������� ( ��� ����� ��������� ��� �� ���� �� ����������� ���
5:
![Page 71: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/71.jpg)
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
���� ������ �������� � �������� �� � �����!� � �� �� � M �� ���������� ����� � ����
��� ��� � �� ���������� �� �� ��� ����� ���� �� ��� ����
,�����+����� �� ��� ������ �� �� ��� �� ��� ����� ����������� �� ���� ����� ������
#����������� ��� ������ ��� ����� �B�� ���� ��? ���� ��� ������ ����� ���� ����������
�� �? ������ ������� �� ������ �� ����� ���� ��� ��������� �� ������ � ��� ������ '�����
��� ��? ����� ���� ������ �� ��� ��� ����� � �� !� ������� ���� � ����� ���������
�� ����� �������� �� ���� � �� ���� ��+� ��� ��� ����� �������� �� ����� �������
!� � ����� ���FB �� ��� ����� �� !��� ���� ������ IL� 3< ��26J� ��� ��� ������
�� ����� ������� � ������ ������������� �� �� ���� ���� ��������� ��� � ��� ������
��� ����� ��� �� �� � ������� ������ #��� ����� ��� ��� �� �B�� ��� � �����%���������
������� ����� ���!���� ��� ������ ��� �� �� � ��� ���������� ���� ��� ������� ������
������
$����� ����� � �� �� �������� ��� !� ���� �������� �� ����!� ������%������
�������� ���� ��� ��� ����� ����� �� ���� ��� ������� ��������� ������ ��� �������
����� �� ��� �������� ��� ��� ���� ������ ������ �������� ��� ��� ���� ���� ���
�������� ���� ��� � �!�� �� ����������� (� � ��� � ����� ��� ����� �� ��� ��� ���
����!��
�� ���� ������� �� ������� ��� ��������� �� � ����� �� �����% � ����� ��� ������ ��
����!� ������%������ � ������������� ) � � ����� ��������� ��� ���� ��� ��� �����
������� ����� ��� �/������� ����+�� �� �%����!� ����� ��� ������ #�� ��������
� ����� �������� �� ��������� �� ����F������� ���� ��� ����� ���F��� �� ��� ���������
����������
8�� �� !���� �� ��� ������ ���� ���� ��� �������� � ����� �� ���� �/������� =���
����������� ��������%��� ������+����� ������� �� ������� ����� � �� 6�9 ��� 1< ������%
���� ��� �������� ������ ������� �� ������� ����� � �� 9�<�
#��� ������� �� ������+�� �� �����H '������ ;�6 ���� ���� ��� ������+����� �� ��� �%
����� �� �������� '������ ;�: �������� � � ��� ��������� �� � ����� '������ ;�; ������!��
� � ��� ����� ���������� '������ ;�5 ��� ���� � � �������� � ����� '������ ;�< � �%
���� ��� ��� � ����� ��� ��� !� ��� ��� ������� ���!�� '������ ;�9 �������� ������
���� ��� '������ ;�3 ���� ����
5; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 72: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/72.jpg)
Parallelization of Reductions in Software
$�� ��������������� �+ )������� �� !�+�����
)���� ���#������ *�������
( ��� ��� !� �B�� ��� �� ����� ����� � ���������+����� ��� �� ��� � ����� ���� ���
������ ��� ��� �B�� ���� ����� �� ��/����� ����������� #� ��������� ������� �� ���
��� ����� �� ���������� �/���� ��� ��������� �� ��� ��� �� ���� �� ����+� ��� ����
����������� ������ ���������� @�� �����%��������� �����������A I.��33J� #���� ��� �����
����� �� ���� �����������H J�� @���� ����� �����A ���� @����� ����� ����A ��� ������
@����� ����� �����A�
�� ����� ��� �� ����������� ������ ���������� ��� ��� ��� !� �B�� ��� �� ������
' �� � ��� �� ���� � ����� ���� �� ����� ��� �����%��������� ����������� �� � �� ������
���������+����� �� �������� ��� ����������� !����� �� ��� �B�� �� ��� ��� �� ������
�� ����� ��� ��� ���� �� � �� � ����������� �� ��� ��� �� ��� �������� ���� !�
������� ������������� =��� �������+����� ���� ��������� ������� � ������� ���� �� ���
�����!�� ���� �� �� ���� �� � �� � ������������ > ���� ��� ����� �B�� ���� ����
��������� �������� �� ��� ��� ������� �����
��� �� ;�1@�A ����� �� �B���� �� � ��� ���� ��� !� ������+�� ���� �� �������+������
#���� �� �� ���� ���������� !������ ��� ���� �� �����!� ��� �� ��� ; ��� ��� ����� ��
��� �� ��� 6 �� ��� ��B� ���������� � ��������� ����� �� �� � �� � ���������� !������
��� ����� �� ��� �� ��� 6 �� ��� ��������� ��� ��� ��B� ���� .� �������+��� ��� �����
����������� ��� ������� ��� ��� ��� ��� !� �B�� ��� �� ������
1 ���@�M4-���-�UM6A�
6 $�!�9�I�U1J-
: �I�U1JM�I�J-
; �I�J9$�!�-
5 �
1 ���@�M1-���-�UUA
6 /:�;<9/:�%1;-
@�A @!A
Figure 4.1. Loops with anti and output dependences (a) and flow dependences (b).
�� ����� ��� G�� ����������� ������ ���������� ��� ��� ������ ������� !� �B�� ���
�� ������ ��� �B���� ��� ��� �� ��� �� ;�1@!A ��� � G�� ���������� �� ��� 6 !������
������ ���� ����������� �� ���� ���� ��������� � ����� ��� �� � ���� �� ���� ��� �� ���������
�� 1� (� � ��� � ��� ��� ������ !� �B�� ��� �� ������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 55
![Page 73: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/73.jpg)
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
)���� ������������ ����������
( ������ ��� ���? ��� ���� �� G�� ���������� ��� �� �� ���� ���� ������� ��� �����
����������� ( ��� ����� ��������� ��� �� ���� �� ����������� ��� ���� ������ ��������
� �������� �� � �����!� � �� �� � M ������������ ����� � ���� ��� ��� � �� ����������
�� �� ��� ����� ���� �� ��� ���� �� � �� � ���� � �� � ��� ����� �����!��
( �����F�� �B���� �� ��� ����� �� ����� �� ��� �� ;�6� �� ��� F� �� ����� � ��
� ��� ����� �����!�� 7��� ���� ��� ������� �� ������ �� � ��� ����� �����!� �� � ����
������ !� � ������ #�������� ����� ��� !� G�� ����������� ������ ����������� (� �
��� � ��� ��� ������ !� � � �� ������
1 ���@�M4-��7����-�UUA
6 �:BI�J;<9�B��������-
Figure 4.2. Loop with a reduction operation.
,�����+��� ���� ���� ��� ������ ������� ��� �����H �������+��� ��� ��� ����� ����%
�!� ��� ������������ ��� ��� ��� ��������� 8������+��� ��� ��� ����� �����!� �������
������ ����� I*��21J� ����� ��� ������� ����������� �������%������� ��� ��� �����%
����� ���� ��� ������� �� � ������ ��� ����� @� M � � ����������A� �� � � �B����
��� ��������� �� ��� 6 ������� ��� �������� #��� ��� �������� @U �� � � �B����A ��
������� �� ��������� �� �� �� ���� ������ ��� ������������ ����� ���� ���������� ��
�? ������ ������� �� ��������� �� ������ ���� ��� � ������� ��� ����� �����!� �� ��� ��%
������ �������� ��� �� ��� ���� �� � � �B���� � �� ����� ���������� ��� �����F�� ���
��
)��� ��� ��� ����� �����!� �� �������+�� ��� ��� �� ����������� !� �������� ���
��� ����� ��������� ���� �� �? ������ ����� ��������� ��� ���� ����� ��� ������
����� �������� #�� ��� ���� ������ ���� ��� �� �����H
� 0����� ��� ������ �� ��� ��� ����� �����!� �� �� �������� ������� ���%
���� I0" ,21 *��21J� (���������� �� ��� ������ ��� �����!� ���� �� ������
�� �������� ���������� #�� ���� ����!��� �� ���� ������ �� ���� �� �� ��� ����!�
�� ��� ���������� ��� ��� ������� ������� ��������� ���� ��� � �!�� �� �����������
#� � �� �� ����������� ��� ��� ��%���������� ��� �������
� 0B���� ��� ���� ���� � ��� ����� ��������� �� �� ����������� ��� ���� ������ ��� �%
������ #�������� �� ��� !� ������+�� ���� � ����� ���FB �� � ��� ����� �� !���
�������� IL� 3< ��26J� #��� �������� �� ���� ����!��
5< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 74: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/74.jpg)
Parallelization of Reductions in Software
��� ��� ������ �� ����� ������� � �������% ��� ������������� �� ��� ������
������ �� �� ������ ��� ���� ��������� � ������� ������� �� ��� ��� ����� ����� �������+��
���� ��� �� ��� ������ �� ��� ��� ����� ��������� > ���� ��� �B�� ���� �� ��� ������+��
��� ���� ��������� ��� � ���� ������ ��� �� �� ��� ������� ������ #��� ����� ��� ��� ��
�B�� ��� � �����%��������� ������� ����� ���!���� ��� ������ ��� �� �� � ��� ����������
���� ��� ������ ������
$���� ���� �������� � � �B���� ��� ���� ��� �� ;�6 ���� ����������� ���� ���
����� ��� �� ��� �� ;�:� ��� ��������� ������ ����� ��� �� ��� ��� ��� ���� ���
������� ��� O������ �� �������� #� � �� ���� ��� ��� ���� �B�� ��� !� ���� ����������
�� ��� ������+�� ��� ���� ��������� ��� ��� ��� ����� � ���",)9& ����� ,�> ��
��� ��������� �>� ����� ���� ��������� �������+�� ��� ����� ���� ��� �� ��� ������ ��
��� ��� ����� �������� @���� 1%6A� �� � � �B���� ��� �� ��� ������ �� 4 !��� �� ���
��� ����� �������� �� ��������� 7�B� ���� ��������� ���� � ������� �� ��� ��� ��� �B�� ���
�� ���������� ��� ��� ����� ��������� �� ��� ����� � ���",)9& @���� :%;A� (���� ���� �
���������� ���������+� @��� 5A� #��� ���� � ������� � ����� ���� ����� ��� ������
��� �� ��� � ���� �� ��� ��/����� � ���",)9& ������ ��� ������ ���� ��� ������ �����
��
DD �������+� ��� ������� ��� ����� �����
1 ���@�M4-��7 �&��-�UUA
6 � ��':��4;I�JM4-
DD #�� ����� 4��7���� �� ���� ����� ��� ����������
: ���@�M��7����.����-����7����0��-�UUA
; � ��':��4;:BI�J;<9�B��������-
5 !������@A-
DD#�� ����� �� ������� �� � �� ���� ����� ����������
< ���@�M��&��.����-����&��0��-�UUA
9 ���@�M4-��7 �,���������-�UUA
3 �:�;<9� ��':�;I�J-
2 !������@A-
Figure 4.3. Code resulting from parallelizing the loop in Figure 4.2.
�� ��� ���� �� ������ ���� ������� ���� ��� !� ������+�� ���� �� ��� ����� �� !����
�� ��� ���� �� ������ ������� �� �� ���� ������ �� ������+� �� !� ������ ���� ���������
������� ������� ��� � � !%����� �� ��� ������ ������ #� � �� � � �B���� ���� ���������
��������� � ������� �� � ������ !� ������ @��� <A� ��� ���� ������ ��� ��������� ��
������ �� ���������� �� ����� ��� ������ ��� � �� ���� ��������� @��� 9A ��� ���!���� ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 59
![Page 75: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/75.jpg)
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
���� ��� ������ �� �������� @��� 3A� ����� ������� ��!� ���������+����� �� ���������
@��� 2A �� � ������� ���� ��� � !��? ��� ���� �������� ��� ��� ��� � � ������ ����� ��
)���� '���+��#� �� �����+�� !��������������
#��� ������������� �� ��� ����� ������+����� ��� ��� ��������� ����!���� �� ����!�
������%������ � ������������ ���� ���� ������ ������ ��������H ���� ������ ������
�� ��� ������� ����� ��� ����� �������� �� ��� �������+����� ��� ������� �������
#�� ������� ����� ���������� � /��� ���� ������ ������� ������ ��� ���� ������
����� ������ ���� � ��������� �������� �� ��� 3 � ! � ��� �� ��� ������������� �������
����� ������� ��� �� ������ ������ ��������� .��� �� �� ���� ��� ������� ���������
@��� ���� ������A ��� !� ���� ���� ���� �����
7��� ���� ��� ���� ������ �� ������� ��� ������� ���� ��� �������� ���� ���� ������%
���� ��� ���� =��� ���� ���������� ���� ��������� ��� �� ������� ���!����� ��� �����
������� �� ��� ������ ������ "������ ���� ������ ��? ���� ���� ���� !��� �� ����
������ ��� �� ���� �� !� ���!����� '����F��� �������� �� ����� �� ��+� � ��� � ������%
����� #�� ������� ���� ��? ���� ���� ���� ��������� ���!��� � � !%������ �� ��+� ���� (�
� ��� � ��� ���� ������� ���� �� ����������� �� � � ��� M � ����� ���� ��� ������ ��
��� � �!�� �� �����������
#�� ���!�� ���� ����� ���� ��� ������ ������� �� ��� ��� ����� �� ������� �� ����
���� ��� ������� ��������� �������� � �� �� ���������� ���� ����� �� �������� �� ����
������� ���� ��� ������� ��� �� ��� ������� #� ������� ���� ���� ���� ��������� �� �
�� � ������� ������� ���� ��� �� �� � �� �� � ���� ��!� ������� �� � � ������� ������
=��� ���� �������� ������� ��������� ��� ������� ����� ����� �� ��� ���� �� ������
���� ��� ���� ���� ������ ������ #�� ������ �� ���� ���������� ���� ������� ��� �� ��
��? ���� ����������� ����� �� ���� �B������� ���� ��� ����� ���������� �� ����� ��������
#�� ������ ���!�� ����� ����� �������� ��� �� �� ��� �������+����� @���� 1%6A
��� ������� @���� <%3A ������� &���� �������� �� ��� �������+����� ��� �� �� ���������
����� ������ �� ��� ���� ���� ������ ����� @���� :%;A� &���� �������� �� ��� �������
����� ��� �� �� ��������� ������ �� ��� ���� ���� ����� ��� ��� ����� ����
$�� ������� �����-&��� )������� .��&)/
#� ������� ��� ���!��� ���� ���� �� '������ ;�6�: �� ������� �� ��� ��� ��������� ��
� ����� �� ����!� ������%������ � ������������ I>K,�46 K,*�41J� =� �� ��� ���
������ ,���� '� ��;�� >�� ���� 0,';>3� �� ���� ������� �� ���� �� �������� �� ���
53 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 76: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/76.jpg)
Private Cache-Line Reduction (PCLR)
������ ��� ���� ������� �� ��������������
)���� ,������� � * �
#�� ������� �� ,& 8 �� ���� ���� ��������� ������������� �� ��� ��� ����� ��� ����
���� ���� �� ��� � � �� ��������� ������� ������� �� ��� � ��� ��� ������ ��� ��
�� ��� ��� ������ �������� �� ����� ���� ��� �������� ���� ��� ����� ����� �� � ��
�������� ���� � ������� ���� ��� ������ ��� ����� �����!� �� ������� ����� �����
��� ����� ���� ��� ���%�������� ����� ������ ��� �����F�� ���� ������ ��� ��� ����
!� ��� ����� � ��� ���� ���� ����� ������ ��� �� ;�; ����� � �������������� �� ���
�������
Directory
Memory
Combine
ReductionShared
Line
������������������������
������������������������
ElementNeutral
������������������������������������
CPU
Cache
CPUMiss
Displace
Network
Figure 4.4. Representation of how PCLR works.
=��� ���� �������� ��� ���������� ��� ������� �� ��� �������+����� ��� �����%� �
���� ��������� ���������� ��� ��� ���!��� ������� � � �� '������ ;�6�:� (�� ����� ���
�������� �� ��� !���� �� ���� ���� ������ ��� �� ��� ���!����� ���� ��� ��� ����� ��
��������� ���� �� ������� ���������
#�� �������+����� ����� �� ������� !� �������+��� ��� ��� ����� ���� �� ������ ��
���� ��� !�� ��� ���� ��� ����� �� ����� ������� '���� ��� ����� �� ��� �� ������� �������
�� ��� � ��� ��� ������ ��� �� ����� �� �� ���� �� ������ ��� ������� ����� �� �������
)� � ����� ���� �� � ��� ����� ��� ��� ��� ��������� �������� ���������� ��� ��? ���
��� �������� �� !� � ������ � ��� �� �� ��� ��������
#�� ������� ����� �� ������� !� ���!����� ��� ��� ����� ����� ���� �� ��� !���%
��� �� �� ���� ��� �������� ���� ��� ����� � ���� ����� ��� �B�� ����� (� ����
�������� ��� ����� ��� ������� ��� ���� �� ��� ������ ��� ����� �����!� ��� ���������
�������� ���!���� ��� �������� ���� ��� ������ ��� ����� �����!� �� ������� ��������
��� ���������� ������ � ���������� ��� ��� ����� � ��� ������ ������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 52
![Page 77: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/77.jpg)
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
=��� ��� ����� ��� ���� ���� ������ ��� �� ��� ��� ������ �� ��� ������� #���
� �� !� �B������ G ���� �� ���� ���� ��� �������� ���!���� ���� ��� ������ ���� !�����
��� � ����� ���� �� �B�� ���� #��� G �� ���� ����� � �� ��� ���� ���� ��� ��������
������� ����� �� ��� �� ;�:� #���� ��� ��� ������� ��� ��� ����� �� ��� ��� ���!�����
�� ������� �� ���� �� �� ��� ������ !��� ��������� ���� �� ������������ � ���� ���
��� �B�� ����� �� ���� ��� ���� �� �� �� �� ����� ����������� �� ��� ��+� �� ��� �����
������ ���� �� ��� ��+� �� ��� ������ ������ #�� ������ ������ �� ���� ��� ��������� ��� ��
�� ������ ����� ������� �� ����� ����� � ��� ������ ��� �� �� ����� ����� ����� ���
��������� �������� ���!���� ��� �����
=��� ,& 8 � ����� ��� ���� �� ��� �� ;�6 !������ ��� ��� �� ��� �� ;�5� 7���
���� �� ���� ����� � �� �� � � ������ ���� ���F� ��� ��� ������� ��� ,& 8 !����� ���
��� �B�� ����� (� �� ��� �� ;�: ���� �B���� �� ��� �����F�� !� ���� ������ ����� ���
��� �������� ��� ������� ��� O������ ����� �� ��� ���� �� ���� ������� �� ������� ��
������������� �� ,& 8�
1 &��F�"�������@��� �����A-
DD #�� ����� 4��7���� �� ���� ����� ��� ����������
6 ���@�M��7����.����-����7����0��-�UUA
: �:BI�J;<9�B��������-
; &����� ��@A-
5 !������@A-
Figure 4.5. Parallelized reduction code under PCLR.
)���� -%���%�������� � * �
(�� ������������� �� ,& 8 ��� �� �������� ��� ������� ��� ��H ��/����������� �� ��� �%
���� ���� @'������� ;�:�6 ��� ;�:�6A � ����� ��� ��%������ �������+����� @'������ ;�:�6A
��� ���!����� @'������ ;�:�6A �� ���� ���F� ������ �� ��� �������� @'������ ;�:�6A ���
��������� � �������� @'������ ;�:�6A� =� ���� �� ����� ��� �� �� ���� ��������
�� ��� ������� ���� ����� �� ��� �� � &&%7$�( ��������� �� � �� �� ��� ��� ��
��� �� ;�;� 0��� ���� �� ��� ������� ��� � ��������� �������� ���� ������ ��� ���������
���������� �� � ��? ���� ��� �����%!���� ��� �� !� ��� ��� ����� ���� �� ���� ��� ��������
�� ������ ������
<4 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 78: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/78.jpg)
Private Cache-Line Reduction (PCLR)
4%����� ��& ������ 4 �
=��� ��� ���� ��� �� ��� ����� ���������� ������ �� ��� ����� ���� ��� ���� ��� �������
O �� ��� ��� �� ���%��� ����� ����� "������ ����� ������ ��� ������������ �� ��� �����
���� ��? ��� ������ ���������� &����? ���� ��� ������������� �� ,& 8 ��� �� �������
� ��� �� ������� ��� ��� ����� ���� ���� ��� �� �����
( ����� ��� �� ����� �� �� �� �� ������ ��� ��� ����� ����� ������ ��� W��� �����X
��������� &���� ���� �������� !� ����� ������ ����� ������ ��� ������ �� ����������
��� ����� ���� !� � ����� ���� ���� � ������ W��� �����X ������ �� ���� ����� � ���������
��� ���� ��� ����� ��� ��� ����� � ������� ������������ ���� ��� �� ����� ����������
��� !� ������� ��� ���� ������ ���� ������ !� ��� ����� ���� ��� ������������ ��
���� �� ��� ��� ����� ����� �� �� ������ ������������ ���� ��� �������+�� !� ��� ��� ���
���� ����������� ������������
7��� ���� �� ��� �� ���� ��� ����� ��� ��� �� ���� ����� ����� � ����� ���� (%
��� �� �� �� � !� �����!� �� ������� � � ������ �� � ����� ��� ������� �������� ��
��� ����� ���� �� ����� ��� !� ������� �� !���F��� ���� ����� � ,& 8� &����? ����
�� ��� �� ���� ��� ������� � �������� �� ��� ��������
�� ��� ������� �� �B���� ��� ���� �� ,& 8 ��� ���� ���� ����� �������� �� ���%
������������ ��� ����� ����� �� '������ ;�:�6 �� ������� � ���� �������� ������ ���
��� ����� ���� ��/����������� ���� ���� ���� �����F�� �� ������ ����F�� ����������
��� �������
=��4�! �� ��� �� ��� �� ������ (���
=��� � ��� ����� ��� ������ �� ��� ����� � �������%������ ����� ��� ���� �����������
�� ��� �� �� ��� ������ ������� #�� ��� ��������� �������� ���������� ��� ��? ��� ���
�����F�� �� !� ��� ����� � ��� �������+�� ���� ����� ����� ��� ��� ������ �� ��� �����
���������� #�� ��� �� ����� ���� ��� ����� �� ��� ��� ����� ������
( ��� ����� ��� ��� ��� �� ��� ����� �� � ��� ���� �� ��� �� ��� ��� ����� ������ #���
��� ��� � �� ��� ��� ��� !��� �������� ����� �� ��� ��� ����� ��� ���� ���� ��������
��� �������� �� ����� �� ��� ������ �� ���� ���� �� ��� ��� �� �� ����� ����� �� �� �������
!��� �� ������ �� � ���� �����%!���� ������������ �� ��� ����� ��� ��� �� ���� �����������
����� ��� ����� ��� �� � ��� ����� ���� ���� �� ��������� �!����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM <1
![Page 79: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/79.jpg)
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
=��4�! �� ��!���& �� � �� � ������
=��� � ��� �� ��� ��� ����� ����� �� �������� ���� ��� ����� � �������%������ �����%
!��� ����������� �� ��� �� �� ��� ������ ������� )��� ��� �����%!��� ������� �� ��� ����
��� ��������� �������� ����� ��� ������ � �������� �� ��� ��� ���� ������ ���!���� ��
���� ��� ����%������� ������ ��� � ��� ������ ��� ������ ��� !��� �� ������� #��
���!����� �� ��� ���� �� ���� ��������� �� ��� ��� ����� �������� �� ��� ���� ��� ��
��������� ��� ����� ����� ������ �� ��� ���� 7��� ���� ����� ������� �� ��� ��������
��� ���� ���� ��� �������� !� ��� ��������� ��� ������� ��� �� ��� ������ �� ��� �/���
�� ������� ���� ���� ������ ������� �� ���� ��� ������ ������� �� ���������
#� ���!��� ��� ���� ��� ��������� �������� ��� �� !� �������� ���� �B�� ���� ����
���� � ����� ��� ��? ���� ��� ����� ���������� '���� � ����� ��� �������� ������ �������%
� ���� ������� � �� �B�� ���� ���� ��� !����� � !�������� �� ����� ����������� ��
��� ��� ���� � ��� ������� �� � ��� ��� !� ��������� �� ����� �� �� � ��������
�������� &����? ���� �� �� ��� ��� ��� � �� ������� ��� ����������� !� ���������
����� �B�� ���� ���� �� ������ ���� �����
#���� �B�� ���� ���� ��� � ��� �� �� ������� ( $ ��� ������� ����������� ���
G������%����� ���������� ������ � � G������%����� ��� �� � !� ���� ������ ! �
�� � ��� �������� ��� �����B��� �� ��� ��������� �������� �����F������ ) � �B����%
���� ���� ��� ����������� �� '������ ;�;�6 � ������ ���� � ���������� �� ����� ��� �� �
��� ����� ��������� #� � ��� G������%����� ���������� ������ � G������%����� ����� ���
���������� �� � ������
����� �� �� �����!� ���� ��� ��� ����� ���� ��� !��� �������� ����� �� ��� ��� �����
��� ���� ���� �������� ��� ��� ������ �� ������ ������ ���� ��� ��� ����� ��� �������
#� ����� ���� ���� ���� ��� ���� ��������� �������� �������� � �����%!��� ��� ��� ���
�� ����� ������ ��� ��� �� ������ ���������� ��� ��� ��� �� ��� ���������� 7��� ���� ������
� � �� ��� ��� ����� �������� �� ��� �� �� ��� ����� #� � ��� ���� ��� ��� �������
����������� �!� � ���%��� ����� �������� �� ��� ��� �� �� � @���%��� �����A ����� �����
�� � ����� ��� �������� ����� ��� ��� ��� ������ �� !��� �� ������ ������ !�����
���������� ��� ���!������ #�� �������� ��� ����� ������������ �� � @���%��� �����A
������ ����������� (���� ��� F��� ��� ����� �����%!��� �� � ��� ��� ��� �� ������� �� ���
���� �� ����� ��� ��� ��������� �� ��� ��� ����� ��� ��� �� ��� �� � ����� �����������
�� ���� ���������
<6 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 80: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/80.jpg)
Private Cache-Line Reduction (PCLR)
���>&���& ��� � ��� ��
.����� �B�� ���� � ��� ����� ��� ���� ��������� ��� �� � ������ �� �� ������ ��� �����%
���� �������� �� ��� ���� �!� � ��� ���� ���� ��� ��� ��������� �� ��� ��� ������ #���
�� ����� �� ��� 1 �� ��� �� ;�5� =��� ���� ����� �������� �� ��� ��� � ����� ��� ����
�� ��� ����� ��������� ��� ����� �������� �� � � �B���� �� ��� �� ;�5 ��� ��������
� �� !� ���F� ��� �� ������� �� !�%��������� G������%����� �������� ���� �� �������� �
��� ����� �����%!����
(�� ��� ���� �������� ������ ����� �� ��� ����� ��������� � �� !� ������! ��� ����
� ���� ���� �� ���� ���� ��� �������� ��� ��� ���� �� ��� ����� ���������� ���� %
����� ���� ���� � ���� ����� �� ��� ����� ��������� ��� �����
����� ��� ��������� ������ ����� �� ��/����� ����%������ ��������� ���� �� ��
��/����� ����� �� ��� ����� ����������� �� ���� �� ��� ���� ��� ��������� ������ G ���� ���
��� ����� ���� ���� ��� ������ ���� � ������� �� ��������� ��� ���������� ��� ���������
�������� ���� ��� ������� �� ��%����� ���
/�' ��� 4%����� ��� �� ������ 4 �
�� '������ ;�:�6 �� �B������ � ����� ��������� �� ������� ��� ��� ����� ���� ����
��� �� ���� ��� ���� �B������ ��� ���� �� ,& 8 ���� ���� ����� ���������� 7�� ��
������� � ���� �������� ! � �? ������ ��������� ���� ��������� ��� ���� �� ������
��� ��������� ��� ������ �� ��� ��������� ��������
�� ���� ������ ������� �� ���� ������ ����� ������ ����� ������ ��� �������
������������ �� �������� ��� ����� ���� � �� ���� ��� ������F�� !� ���� +����� (��
���� I&"'�22J� #�� ������ ����� �� ������ �� ��� ��� ����� ���� �� �� � +�����
(�� ������� �� ��� ������� ��� ����� ������ ��� �B���� �� ��� �� ;�5 �� �� � ��
����� � �� ������� �� �� #��� ������ ����� �� ������ �� ������� ��������� ���� �� ���
������� ������� ������� "������ � �� ��������� ��/�� ���� ��� ������������� �������
��������� �� ��� ������� ����� �� � ����� ������� ��� �B���� ���� ��� ���� �����
���� �����F���� !�� G������ (� � ��� � ���� � ��������� �������� ���� �� ������ ����
��������� ����B������ ������ �� �� ���� ��� ������� ����� �� �� ���� ���� �� �� �
��� ����� ������� '����� ���� ��� ������� ������� �� �� ���� ���� ������� �� ���
������� ����� �� ������ ���
=��� ���� �������� �� �� ��� ���� �� ������ ��� �������� �� ��� ��������� ������
�� ��������� �������� #�� ��� ��? ������� �� ���� ��� ������� � �� !� �!� �� �������
���� ������ ���� �������� �������� #��� ���� � ��������� �������� ���� � ����
���� ���� ��� ��� ��������� �� ����B������ ������ �� ����� ��� ��� � ��� �� �� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM <:
![Page 81: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/81.jpg)
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
������� �� ��� ���������� � ��������� ���� � ��������� �������� ���� ��� �����%!��� ��
� ��� ���� ��� ��� ��������� �� ����B������ ������ �� �� ������� �� �� ��� ���� �� ���
������������� ������ �� ��� ������� ������ ����� ���� � ��������� �������� ��������
��� �����%!��� �� � ��� ���� � ������ ��������� �� ��������� ��� ������� �� ��� �������
�� ��� ������������� ������ �� ��� ������� ����� ��� ���!���� ��� �������� ���� ����
��� ���� �� �������
#��� �������� ��? ���� ������ ������� ��� ��������� ������ � ������ #�� �������
����F�� ��� ��� ����� ���� �� ������ � ������ ����� ������� �� ��� ������� ������ �� ���
������� ��� ������ ����� ��� ������� � ������ �� �� �� ��� ��������� ������ �����
����� �� ������ �� ������ #�� ��������� ������ ��� �� � ����� ��� ������� �� ����� ���
��� ������ ������ '����F��� �� � ���� �� � �� ��� ������ ����� �� ������� � ����B������
������� ���� ����� � �!�� !���� ��� �B������ ������� �� ��� � �!�� �������� �� ���
������������� ������� ����� ����� �������� �� ��� ����� ���� ��� �B��� ��� �� �� �������
�� ���� �����
/��!�" ������� �� ��������
�� ,& 8 � ���!�� ��� �� �� � ��� ���� ��� ����� ���� �� �������� ���� ��� �����
!������ � ���� ��� ��� ������������� ����� �� ��� ��� ����� ���������� (� �� �B����
��� �� ���� ��� �� � �� � �����!� �� ��� ��� �� �� #��� �� � �� ���� ���� � �������� ���
������ �� �U� � "������ !����� ��� ��� � �������� �� ������� �� ��� ����� ��� ��� ����
�������� ���� ��� ������ �� ���� ���� ��� ������ ��� � � �� !� ���� �� ������ ���
��� � ���� ���� ��� ������ ����� #��� ��� ����� ���� �� !� �������� ���� ��� �� ���
������ ��� ��� �����!� �� ��� ��� �� !� ������ �� � U � � ���� � ����������� ��
���� ��� �� �� �� � U � �� !� ��� � ���� ���� ��� ������ ���� �� ������� #� � ���
������ ��� � � �� !� ��� � ���� ���� ��� ������ ���� ������
=� ��� ���� ���� ���!�� ���� �� ��� �� �������� 8������� �� ����� �������
�� ������� ��� ������� ����� �� ���� ������ ����� ��� ���!�� ��� ������ ��� ����� $����%
� ����� ��� ���!�� ��� ������� !� �������� ��� ���� ��� ����� ������ �� ��� ������
�� � � �B���� ��� �������� �� � ������ � !�������� � ���� ������ ��� �������� �������
�� ��� ���� �� ��� ������ �������� "������ � �� ������ �� ��� ���� ��� ���!�� ��
�������� �� ��� ������ ������� �������� ��� ���!���� ��� � �� ����� ���� ������� ���
� ���� ��� �/������ ����� ��� � U � � ������� �� ���������� �� ���������� ��� ������
��� �� �� ��� ������ �� � �� ����� �� ���!� �������� �� ������ �� ������� ��� ��� ������
�� ��� ���!���
7��� ���� ��� ����� ���� �� � ����� �� ��� ������� �B����� ������������ �� ���������
��? ���� ���� ����� ���� �� �����%!���� #�������� � ���� �� � ����� �� � ��� ����� ���
<; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 82: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/82.jpg)
Private Cache-Line Reduction (PCLR)
��� ��� ��� � !��� �� !������ ��� ��� ��� ��� ����� ��� ��� ��������� ��� !�� ���
�� � ������ ��� ���� ��� �������� ��� ��� ���� ��� ����� ����� �� �� ��� �� ���� ���
��������� ���� ��� ������� ��� ������ !������ ��� ��� ��� ��� ����� �� ��� ��� �����
�����!� ��� ����������� ���!�� ��� � ��� ������� $����� ����� ������ ����������
������� ����������� ������ �������� ��� ����� �� ��/����� ����� �� ��� ���� ��� ���
��������� ��� ��� �� ��� ���!��� ,��������� ���� ���������� ������� � ����� � ������
����� !����� ��� ��� ��� ����� ��� ������������� ����� �� ��� ��� ����� �����!�� #���
�������� �� ��������!� !��� �� �� �� � ���� ��� ����������� �� ,& 8 �� ������
�����������
=� ������� ��� ��/����� �� ������ #�� F��� ��� ��� � ���� ����� ����� ��� ���� ���
������ ��� ��������� ��������� #�� ������ ��� ������� ���� ��� ��? ��� ��� �'( �� ���
��������� �� ���� � ���� ����� ����� ! � ��? ���� ��� ����F������� �� ��� ��� �������
=� �B���� ���� �� ���� �� � ���
.3 +��� (���� �
#�� ���� �� ���� �������� �� �� �������� �B������ ��� �� ��� ������ ���� ��� ������
�������� �� ��� �� ;�< ������ #�� ������� ��� ������ ��� ��� �� ��� ��� ����� �����!�
���� ��� ������� ���� �� ��� �� ;�<%@�A ���� ��� ��� ����� ������ �� ��� �� ;�<%@!A� #��
F��� ����� ����� ������� ���� ��� �������� ��� �� ��� ������ ��� ��� ���� ����� �����
�������� �B������� ��� �������� �������� ���� ��� ������ ��������� =��� ���� �����
����F������ �� ��� ����� ��� ���������� ��� ��� ����� �����!� ���� �������� !����� ���
����� �B�� ��� ��� ���� �� ��� ���� �� ��� � /�� ��� ����F������ ����� �� �� !�
�������� ���� ��� �� ��� ������� )� �� ��� ��� ���� ��������� �� ������� �� ���
���� ����� ����� ��� � ��� !� ���������� �� � ������
swap r1, addr
(a) (b)
mov r1, neutralload r1, addr
store r1, addr
add r1, r1, 3
Figure 4.6. Original reduction code (a), and instructions that replace the load to solve the atomicity
problem (b).
-3 ,�� (���� �
#�� ������ �������� ���� �� ������� �� ��� ������� �� � ��� �� ��� ����� !������ �
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM <5
![Page 83: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/83.jpg)
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
��� ����� ��� �� ��� ��� ��� ��� ������������� ������ =� ������ �� ��� ��� ����� ������
����� ����K��� ��� ���K����� ��� ��� � ��� � �!�� �� '� � ,�� >����� @&,8�A
�� ��� ���������� 0��� &,8 ��� ��� F���H ��� ��� F�� ����� ���� ��� ��� �� ��� ������
��� ��� � ��� ���� �� �����
=��� � ����K��� ����� ����� �� �B�� ��� � ���� ���� ��� ����� �� ���������� (� ���
���� ���� � &,8 �� ������� ��� ��� �� ��� �� ��� ��� �� ��� ����� ��� ��� ��� ��� �� �� ��
��� �� ���� �� ��� �� ��� &,8� ������ ��� ��� ��� �� ��� ��� ��� ��� �� �� �� ������������
=��� � ���K����� ����� ����� �� �B�� ��� � ����� �� ��� ����� �� ���������� (� ���
���� ���� ��� ��� �� �� ��� ��� �������� &,8 �� ������������ �� ����� ���� ��� ��� �� ��
�� +��� ��� &,8 �� ������ .����� � ����������� �� � ����� ��� �� ����� ��� ���� ��
��� &,8� ��� �������� �� ��� �� ��� ������ &,8� ��� � �������� ��� ��� ����������� ��
��������� ��� ��� ��� �� �� ����� ������ �� ��� ������
=��� ���� � ����� � �����%��������� �� ���� ��� �� �� �� ������ ���������������
��� ��� !� ��� ��� ���� � �%��%����� ����� ����� ��� � ���� ����� �B�� ���� ����� �����
�? ������ ��� ������ ��������� "������ ���� � �� !� ����� �� ���� ��� &,8� �%��%
����� ��� �B���� �� � ���� ������ �B�� ��� ����K��� ��� �� !� �? ����� ��� ��������
����� �� ��������� ��� ������������� ��� �� �� ��� �����!� ���� ��� &,8� '������
�������� ������ �������� ���� � ���K����� �� � ����K��� �� ��� ���� �������� �� ����
���� ���� ��� �� ��� ��� �� ����������� ���� � ��������%��%�������� �������� ��� &,8 ���
��� ����K��� ��� ����� �� !� �������� ���
����� �� � &,8� ��� �� �� ���� ��� ���� �� ������ �� � ��� �� ���� ��� �����
��� ����� ����� �� ������ ��� � &,8 �� ���� �� ��� �� ���� �� ������������ .��� ��
&,8� ��� ������ �� ��� ����� ����� ���������� !� ��� ��������� ���� ���� ������ �� ��
��������� �� ���� ���� �� � ��������� ��� ��� ��� &,8 �� ��� �������� �B�� �� ��� �����
=��� ���� &,8� ��� ������� ��� !� ���� ���������� �!� � ����� ����� ����� ���� ��
�������� �� ���� �� �� ���� � ��� � �!�� �� &,8� @3A �� � ����� �� �������� ����
������������
)���� ��%%��$
#�� ,& 8 ������ ��������� ��� ���!��� �� ����� ��� ������ �� ����!� ������%������
� ������������ �� ���� ���� �� '������ ;�6�:� ,& 8 ��� ��� ���� ����������� �����
�� ��� ����� ���� �� ��� ��� ������� ������� ��� �������+�� ���� �� ������� (� �
��� � ����� �� �� ���� �� ������ ������� ���� ��� �� ��� �� �� ������� � �����%��������
�������+����� ���� '����� �� �������� ��� ���!����� �� ��� ������ ��� �� ���� �����
������ �� ��������� �� ������ �� ��� ��� ����� ��� �B�� ���� (� � ��� � ����� �� ��
���� ��� � ����� ������� ���� ���� ������� �������� ��� ����� ��� ���� ������ �������
<< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 84: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/84.jpg)
Evaluation Methodology
( ���� �� ������ �� �� G �� ��� ��� ����� ���� ���� ��� ������ �� ��� ��� �� ��� ����
#���� ��� ���������� ��� ������ ��� ��������� ���� ��� ��� ����� ������ �������� ���
�������
���� ,& 8 ����F������� ��� �� ��� ��������� ��������� ����� ������� ������ ��%
����� �� ���� ������ ��� ����� !����� =��� ��� �� �� ������ ��������� �� ��� �'( �� ���
��������� ��� � ���� �� ������ ����� ����� �� ����F������ �� ������ �� ��� �������� ��
��� ���������� �� ��� ��� ��� ����F������ ����F������ ���� �� ������ ��� �� ��� ������%
��� ��� ������ �� ��� �!���� �� ��� ��� ���� ���� �� ��� ������ ���� �� ��� ����K��� ���
���K����� ����� ������� �� ��� !� ��� �� ���� ����� ����� ������ �� � ��� !� ��� ���
����� � ������� �� ������ �����������
$�$ ��������� ��������(
=� ��� ��� ��� ,& 8 ������ ���� ��� ������ ������ !� ������ ������������ �� ����
������� �� ������!� ��� ��� ����� ����������� ��� ��� ������������
)�)�� ��%������� .������%���
=� �� �� �B�� ����%������ ��� ����� ����������� !���� �� �� �B������� ��
��7# I��2;�J ���� ��� ��� � ������� � �������� ��������� ���� IL#23J� #��
��������� �� ������ �� � &&%7$�( � ����������� ���� � �� 1< ������ 0��� ����
�������� � �������� �� ��� ������ ������ ��� ��� ��������� �� �� �� � ��������� ���
� ���%��� ����� ��������� ���� � �����%!��� ������ #�� ��������� �� � ;%��� � �������
� �������� ���� �������� �������� !����� ���������� ��� ���%!������ ������ �����%
������ #�!� ;�1 ���� ��� ���� ��������������� �� ��� ��������� ��� &��������� �� ��� �����
������ �� ��� ������ ������ �B���� �� ��� ������� ����� �� �� ������ ��� �� ���
�� ��� ��� ����������� ������
������� ���� ����� /� �- ���� �����
$=����� �-�� ��< 1 GH� �1< �5 ����? 95 )�< 215 )�
!��< + < ��A�� 7;? $< 5< 5 �1< �5 ����? 5 @�-< $ @�-
!��� @���@? 8$ �1< �5 ����? 8$ �< 8$ �
������" ��< ��? 4< 18 �1< �5 ������-? 5< 1� �-����
�����, �����-? $ �-���� ���� � �- ������-? 1�$ �-����
!��< + ���� � ��"�? 8$< 8$ 5=, � �- ������-? 5:6 �-����
Table 4.1. Architectural characteristics of the modelled CC-NUMA. The latencies shown measure
contention-free round trips from the processor in processor cycles.
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM <9
![Page 85: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/85.jpg)
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
#�� ������ ��� � ���������%!���� ����� ��������� ������� ���� ��� ���� ��
>('" I K�26J� 0��� ��������� �������� ��� !��� �������� ���� � ����� �� !�%
��������� G������%����� ��� ���� .��� ��� ��������� �������� ��� ��� G������ �����% ���
��� ������ �� 1D: �� ��� ���������P� ���? ����� #�� G������%����� ��� �� � � ��������
�� �� ��� ����� � ��� �������� ����� ����� ��������� ������ ��� ������ �� 6 ����� @<
��������� �����A� �������%����� �������� �� ��� ��� ��� ����� ��������� ���� ������� ��
� � ����������� @'������ ;�;�6A�
,������ ���� ��� ������� ����� ,���� �� ������ ���� ��� ������� �� ��� ������
��� � �� ��� F��� ��������� ���� �������� ����� ) � �B��������� ���� ���� ���� ��������
����� ��� ������ ���� �������� ��� !��� ����������� ��� �� ��� !��� ��� !������ ��� ���
,& 8 �������
)�)�� (�����������
� � &� �� + � � > + I + I!���� I!���� ��� 3 � ��� ����-���� !�%� !�%� !��� �� !��� ���� �)��
��� ��������������� ���� ��� 4$6 15� 2:489 114 1$ 8488
���� �������������������� �� 2�� 9422 9�18: 22� 55 6�61��� ������ !"# 4:$ 1 $:5: 192 8 $��!$���� %���� � 454 1 45:$$ $5� 2$ 1:$6�&'( �'( �)� ::1 1 154��� 144� 5�� 1����
�%���"� 415 6:2 81141 85� 2: 461�
Table 4.2. ���������� ��������� ��� � � ������ �� ��� ������� ���� ������ �� ��� ��
����� ������ � �� ����� ��� �� �� �����
#� ��� ��� ��� ,& 8 ������ �� �� � ��� �� & ��� ������� �������F� ������ #�� ��
���� ��� �����������H *�� ���� ",�%6 I>'"2;J ��� *@��� ���� ',0&��6444 I"��44J�
#�� ����� ����� ����� ��� ������H E�� ���� '����� . (' I>�8�25J '����
���� I..)�3:J ��� <�� ���� ��� K8)�)' ���� �� �������� !�������� IK.33J�
) � �� ���� *@��� ��� E�� ��� ������� �� & ���� ��� ���� ��� ������� �� ��������
( �� ����� ����� ���� ���� ���� ��� ����� ����������� #�!� ;�6 ���� ��� ���� ����
�� ��� ��� �� ���� ���������� ��� ����� ������ ������� �� ��� ���� �@������ �B�� ����
���� �� ��� ���������� @V#��?A� #��� �� � �� �!������ !� ���F��� ��� �����������
�� � �����%��������� ' � $��� 5 ������������#�� ��!� ��� ����� ��� � �!�� �� ���
����������� � ���� ������� �B�� ���� ��� ������� � �!�� �� ���������� ��� ����������
��� ������� � �!�� �� ����� ������ ��� ��������� ��� ������� ������� � �!�� �� ��� �����
���������� ��� ��������� ��� ��� ��+� �� ��� ��� ����� ������ 7�B� � !���� ����������� ��
<3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 86: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/86.jpg)
Evaluation
���� ����������H
� *�� �� � :%> ������������� ���� ���� ����� ��������� G��� �������� � ����
�������!� G ����
� *@��� ����� �����? ���%��� ��� ��� �� ������� ���� �� ���� �� ��� :%> F����
������ ���� �� ��� ���� ���� ����� #�� ��� �������� � ������ �����B%������
� ���������� ���� � !�������� � !��������
� E�� �� � ����� ��� � � ���������� �� � ����� ������ ��� � ������ �����B�
� '���� �� � 7%!��� ��� ����� �� ���� ��������� �� �������� ��� ���� ��%
���� ������+����� ��� ����� &��� ��� ������� �� ���� ���� ���� ���� ���������
��� ���� ��� �����!� ��� #�� ��� �� �����!� �� ������� �� ����� � ����� !��� �� ��
��� ������ ������ �� �����
� <�� �� ��� � 7%!��� ��� ����� ? ��� ������ �� &����� �� ��� ����� ���� ���� ����
��� ��������� ���� ��� �����!� ��� (� ����� ���� ������ ��� ��� ���� �� ���� ����
��� ������ ���� �� � ��� ����� ����������
#�� ���� �� #�!� ;�6 ��� ����+�� !� ��� ,����� ������+��� ������� I.>0�2<J ��
!� ���� �� �������� ��� ��� ����� ����������� #��� �� ������ ��� ���� �� �������� ���
����� ��� ����� ���� ��� ��� �������� ��� ,& 8 ��������� �� ����� �� '������� ;�6�6
��� ;�: ������������ ��� ,& 8 ��� ����� �������� ��� ��� ������ ���� ������ ��� ���
����� ����� ������ �� ������� ������ ,& 8 ���������� @'������ ;�:�6A �� � � ��� �����
#�� ���� ����� �� ��� ��B� ������� ��� ���� ����� �� ����� ��� ��� �������� �� ����
������!�� �� #�!� ;�6� (�� ����� ����� �� � �����F���� ��������� �� ����� � F� ��� ������
����������� ������� ��� �� ��� �������� ���� ��� ������ ����
$�' ���������
)�&�� -%���� � * �
=� ��� ��� ��� ��/����� �������������� �� � � ,& 8 ������� #�� F��� ��� �� ��
������������� ����� ��� ��������� �������� �� ���������� #�� ������ �������������
���+�� � ���������!� ��������� �������� ������ �� ��� �(K�& �����%�������� �� ���
� ('" � ����������� IL)"�2;J� ( ���������!� �������� ��� ������� ��� � ������%
���� ��? ���� !� ,& 8 ����� � ��? ����� �������� �������� #���� ��� ��������������
�� ,& 8 ��� �������� ������� � !������ ������ ����� ��� � ��������%��� ��������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM <2
![Page 87: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/87.jpg)
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
�� ������+� ��� ������� #�� ��������%��� �������� ���+�� �� �������� ���� ��� � %
���� ������ ��� �� �� ������� ������ ��� ������ ��� ���� � � ���� ��� ��� �� ���� ��
������!�� �� '������ ;�6�6�
��� �� ;�9 �������� ��� �B�� ���� ���� �� ����� ����� �������� #�� !������ ��������%
��� ������ �� +�� #�� ,& 8 ������������� ���� � ��������� ��������� �������� ��
8� ��� ��� ������������� ���� � G�B�!� ���������!� ��������� �������� �� A� �
#�� ��� ���� ������ �� � 1<%���� � ������������ ��� ���� ���������� ��� !��� ���
������+�� �� +� ��� !����� ���� ���� ���� ����� �� ��� �������+����� ����� �� ��� +�
������ @)���A ��� !��� �B�� ���� @;���A ��� ���� ����� ������� ��� ������ ��� �� ��
��� ��� �� ��� ��� �� +� �� G ����� ��� ������ �� 8� ��� A� @��A� #�� � �!���
�!��� ���� !�� ���� ��� ����� � ������� �� ��� ��? ����� �B�� ���� �� ��� ����� ��
��� ��? ����� �B�� ���� � ���� ���� ����� �� ��� ��� ������ �� ��� ����� ������
����������
0
0.2
0.4
0.6
0.8
1
Sw
Hw
Fle
x
Sw
Hw
Fle
x
Sw
Hw
Fle
x
Sw
Hw
Fle
x
Sw
Hw
Fle
x
Exe
cuti
on
Tim
e
Init
Merge
Loop
Euler Equake Vml Charmm Nbf
1.3 4.0 3.5 7.3 14.0 10.6 3.1 6.1 5.0 1.9 9.9 7.7 9.1 15.6 14.2
Figure 4.7. Execution time under different schemes for a 16-node multiprocessor. The numbers above
the bars are speedups relative to the sequential execution.
#�� ����������� �� 8� ��� A� �������� �����F����� ���� +�� #��� ����������� ��
����� � � �� ��� ���������� �� ��� F�� �����%��������� ������� ���� ���� �� ��? ���� ��
��� ��������%��� �������������� �� +� ��� ���� �� ���� ������� ���� �� ����������� ��
��� ��+� �� ��� ��� ����� ����� ��� ���� ��� �������� ���� ���� ���������� ��� �����!��
=��� ���� ���� �� �����F���� ������� �� ��� ���� ����� �� ��� �B�� ���� �� ��� ���� ���
��� !���F�� �� ,& 8 !����� � !�������� ��� �B���� �� '���� ��� ���� ����� ���
���� �B�� ��� ���� +� 2 ����� ������ ���� ��� ��? ����� ���� "������ ��� �������
���� �� ��������!� ��� ��� ���� F�� ����� � �� +� @1�2 �� 1< ����������A� (� ���������
�� '������ ;�: � ������ !���F� �� ,& 8 �� ���� ��� �������+����� ����� �� �������� ��
������ ���� ����� ���� ��� ��� � �������� ��� �������� �� ��� +� �B�� ���� �����
#�� 8� ��� A� ������� ����� ����� ��� ���� �� �� ���� ��� +� ������� ��
94 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 88: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/88.jpg)
Evaluation
,& 8 �� ��� ���� ��� ��� ��� ���� ����� G ����� ��� ������ ����� ��� ��� ���������
��� F������ ��� �B�� ���� �� ��� ����� ���� =��� ���� ,& 8 ���������� �� ��� ����
�� ���������+� ����� ��� ����� ���� #��� ��� ����� G ����� ����� ������ �� ���� �� ����
F���� ��� ������ ���� G �� ���� ��� �B�� ���� �� ��� ��� �� ����� �����������
�� � � �B��������� �� �� ��� ��� ��� ��� ������ � ����� �� G �� ��� ��� ��� �����
����� #� � ��� 6 ����� �� ��������� ��� ��� ��� ����� ���� @��� ����� �� ���A ��� �������
!��� �� ������� �� #�!� ;�: ��� �� �� ;��� A����� ����� ��� ������� � �!�� ��
����� ���� G ���� !� ���� ���������� ���� �� ����� ���� ������� ��� ����� ����� #��
�� �� ;��� 9����� � ����� ��� ������� � �!�� �� ���� ���� ��� ����� ���� ��������
!� ���� ��������� � ���� ��� �B�� ���� �� ��� ���� ��� ����� ����
� � &� �� + � � ����� �����
7���,�� '�� �����
����� ��� ���� 9581 5116
������ �� 6$5 24�
��� ������ !"# 184 �
!$���� %���� � 14$: 99�
&'( �'( �)� 594 166$
�%���"� 1521 :8�
Table 4.3. ���� ��� �� �� �� �� ����� �� �� �� ������ ����� ���� ��������� �� ����
����� ��� �� � ���� ���� �� ��� ��������� ����� �������� � � �!"����� �� � ����
#�� ��/������� !������ ��� 8� ��� ��� A� ������� ��� ����� � � �� ��� ��������
����� ���� � �������� ��������� �������� � ��� ������������ �� ��� ���� ���� �� ��
���� �� ��� ���� �������� ���������� ��� ����������� '����� ��� �������� ���������
�������� ����� ����� �� ������� ������� � ������������� #� ��� ����� ��� ��� �����
��� �/���� �� � � ��� ������ �� A� �� ���� ��� ��� ���� �� ��� ��� �������� ���� ���
��� ����� �������� ��� ��� � ('" ��������� �������� I"L>�2;J� ��� �B���� � ����
���� ���� �� �������� �� 11 ����� �� ��� ��������� ��������� '���� �� ��� �� ���� ���
��������� �������� �� ������ �� 1D: �� ��� ���������P� ���? ���� ���� ����������� �� ::
����� �� ��� ���� ���������� #�� ��������� �������� �� ��� ���� � ���� ���� �����
#�� F� �� ����� ���� ��� ����� �� �� A� ��� �� ��� ������� ��� 1<V ���� ���� ��
8� ��� 1:<V ������ ���� �� +�� #�������� ����������� ,& 8 ���� � ���������!�
��������� �������� �� � ���� �����%�/�
)���� ��� � 1<%���� � ����������� ��� 8� ,& 8 ������ �������� �� �������
����� � �� 9�< ���� ��� ��������%��� ������ ������� �� ������� ����� � �� ��� 6�9� ��
,& 8 �� ���������� ���� � ���������!� ��������� �������� ��� ������� ����� � ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 91
![Page 89: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/89.jpg)
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
<�;�
)�&�� �����+����$ � * �
#� ��� ��� ��� ����!���� �� ,& 8 � � ����������� ������ ���� ; 3 ��� 1< ���������� ��
��� ����� ��� �� ;�3 ����� ��� �������� ���� �� ��� ����� �� �������� !� ��� ��/�����
����������� �� ��� !� ���� ���� ,& 8 @!��� 8� ��� A� A ���� ��� "������ ��� +�
������ ����� ������ (� �B������ �� '������ ;�6�6 ��� ���� �� ��� ������� ���� �� +�
���� ��� �������� ���� ���� ���������� ��� �����!�� �� ��� ���� ��� ����� �� ���
������� ���� ����� ��� �������!� ����� �� ��������� �� (����P� ���
0
2
4
6
8
1 4 8 16Number of Processors
Sp
eed
up
Hw
Flex
Sw
Figure 4.8. Speedups delivered by the different mechanisms (harmonic mean).
)�&�� -%���� � /�0��� �����
�� ������ � �������� �� �� ��� ��� ���� ��� G������%����� ��� �� ��� ��������� ��������
��� ������ �� 1�: �� ��� ���������P� ���? ����� #� ��������� ������� ���� ��� �� � �����
�� ���������� �� � � ,& 8 ������ � ������ ���� � ������ ��� �� ��� ���� �� ���� ��������
#� � ��� �� ;�2 �������� ��� ������ � ������ @8�A ���� � ������ ����� ��� G������%
����� ��� �� ��� ��������� �� ������ �� ��� � ���? ���� �� ��� ��������� @A���A� �� ���
!� ���� ���� ��� ��� �� ���� ���� �� ��� �B�� ���� ����� �� ���� ����������� �������
��� ������������ ��� ��� �����F����� #�������� ���� ��� �������� ��� G������%�����
��� �� ��� � !�������� �� ���� �������
96 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 90: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/90.jpg)
Additional Use of PCLR
0
0.2
0.4
0.6
0.8
1
Hw
Fas
t
Hw
Fas
t
Hw
Fas
t
Hw
Fas
t
Hw
Fas
t
Exe
cuti
on
Tim
e
Loop Merge
Euler NbfCharmmVmlEquake
Figure 4.9. Comparing the performance with floating-point units of different frequencies.
$�, �������� 0 � �+ ��&)
#�� ,& 8 ������ ��� ��� !� ��� �� �����% � ������� �������� ����� ��� �������
��� �� � ����������� �� ���� ������� �� �B���� ��� ������� ��� �� � ����������
���!�� @'������ ;�<�1A ��� ���� ��� ,& 8 ��� !� ��� @'������ ;�<�6A�
)�1�� '$��%�� ��� 2���� (�����%��� �� �������
(� �B������ �� '������ ;�6 �������+����� �� � ������ ������? � ��� �� ������+� ����
���� ���� ��� � �� � ������������ =��� �������+����� �� ��� �� ��� �� � �� ��� �������+��
�����!� �� ������ ����� ��� ����� ��� � ���� ���� ��������� ��� �� !� ����������
'����F��� ����� ��� ��� �B�� ���� �� ������� ��� ������ �� �������� �� ��� �������+��
�����!� ��� �� !� ������ ���� ��� �� � ���� ��� !� ��� ������� ������� ���������� ��
��� ������� ��� ��������� ����� ��������� �� ���� �� ��������� ��� ���� ���� � �� ����
�� � �� ��� ������ �����!�� �� ��� ������ ���� ���� � ���������� ����� �� ��� �������+��
�����!� ��� ��� ������� ��������� �� ��� ��� ��������� �� ��� ���� �� ���� ���� ��� �������
��� ����� ��� �/ ���� ��� ��������� ��� ���� �� ����� ������� �� ��� ������ �����!��
"������ ���� ��� ��� ������� ��������� ������ !� ���������� �� ������ ���� ���
���� ���� ���� ��������� ��� �� !� ���������� �� ���� ���� ��� ���� ����� ��� ��
������ !� � ������� ������ #��� ����� ������F�� ��� ���� ������ �� ��� ������ �����!�
��� ��������� ���� ��� ��� ������� ��������� ���� ����� �� ���� �������
��� �� ;�14 ����� �� �B���� �� � ��� ���� �� ������+�� ���� �� ��� �������+�����
�� ����� (� �� ��� ����� ������� ��� �� � ���������� �� ��� ������� �� ����� ( ��� ����
����� ��� ��� �� ��� ������� ������ ����� ���� ��� ��� �����
��� �� ;�11 ����� ��� ����� ������� �� ��� ��� ���� ��� ����%� � ������ #�� F� ��
��� ��� ���� ����� ( �������� <��*���� �������� (� � � ������ ����� ��� �� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 9:
![Page 91: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/91.jpg)
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
1 ���@�M4-��7-�UUA
6 �@�I�JA�
: /:�I�J;9 � � �-
; � � �M/:�I�J;-
5 �
Figure 4.10. Loop to be parallelized with privatization and dynamic last value assignment.
��� ���������� (� ��� !� ���� �������� ���� ��� ������� ����� ( ���",)9& ���� ���������
��� ��� � ������� ����%����� ����� ( ��",)9&� =������� � ��������� ������ �� �� ������
�� ��� ������� ����� �� ��� ������ ��� ������������� ������ �� ��� ������� ����%�����
����� ���� ��� � �!�� �� ��� ��������� �� �� �B�� ����� =��� ��� ��� �� ���� ��� ����%� �
����� �������� ��� ������� ����%������ �� � ��� ����������� 0��� ������ �� ��� ������
����� �� ������ ���� ��� ������� ���� �� ��� ��������� ����� ��� ��B�� � ����%�����
�� �� ���
7��� ���� ��� ������� ����%������ ( ��",)9& ���� �� !� �������+�� �� � � �!�� ���� ��
����� ���� ��� �����!� ��������� � �!�� @%1 �� ��� �B����A� (�� ���� ���� ���� ������
����� ��� �� ��� �� �� ��� �B���� ��� ��������� �> ��� !� ��� �� ����� ��� ����%
������ @( ��",)9&"�"�&& �� ��� <A ������� �� ��� ��������� � �!�� ��� ���� ���� ����� ���
�� ���� �� ���� ���������� ���� ���������� ,�>� ��� ��������� ������ ���� ���������� ��������
)�1�� 0���� * � �� ��� 2���� (�����%���
7��� ���� ��� �� ;�11 ��� ��� ������� ����%����� ������ �� ��� ����� ���� ����� ���
��� ����� ��������� �� �� ����� > ���� ��� �B�� ���� �� ��� ���� ��� ��� ������ ��
��� ������� ����%������ ���� �� ��� ������ ��� �� ���� ��� ������ ��� ��� ��B�� �
� ���� ��� ����%� � ����� ����������� �� ��� �����%� �� #� � ��� ,& 8 ���������
�� �B������ �� '������ ;�: ��� !� ��� �� �����% � ��� ������� ��� �� � ����������
���������� ��� �� ;�16 ����� ��� ���� ���� ��� �� ���� ,& 8 � ����� �� ������ �� ���
���� �� ��� �� ;�11� '���� ,& 8 �������� ��� ������ ����� � �������� ������� ��� �����
������ �� ��� ���� �� ������ ��� ������ ����%����� ����� @��� 1A� ��� ������� ����
�� !� �������+�� �� � � �!�� ���� ���� ��� �����!� ��������� �� ��������� �> @��� 6A�
> ���� ��� �B�� ���� �� ��� ���� ��� ��� ����%������ ��� ������ ���� ��� �� ��
��� ��������� (���� ��� ����� ��� �� F������ ��� ��� ������ ��� G ���� ���� ������
�� ��� ������ ����%����� ����� �� ������� ��� ��B�� � ����%����� ��� ���� �������
7��� ���� �� ��� �B���� ����� ������ ����� ��� �� ��� ��� ����%����� ����� �� ������
���� ��� ,�> �� ��� ������� ������� �� ��� ��B�� � @��� 3A� "������ ���� ����� ����%
9; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 92: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/92.jpg)
Additional Use of PCLR
DD �������+� ��� ������� ����%����� �����
1 ���@�M4-��7 �0�����-�UUA
6 / ��:��4;I�JM%1-
DD #�� ����� 4��7 �� ���� ����� ��� ����������
: ���@�M��7.����-����70��-�UUA
; �@�I�JA�
5 / ��':��4;:�I�J;9 � � �-
< / ��:��4;:�I�J;9,�>-
3 � � �M/ ��':��4;:�I�J;-
2 �
14 !������@A-
DD &���%� �� 8���� 4��7 �0����� �� ���� ����� �����
11 ���@�M��7 �0��.����-����7 �0��0��-�UUA�
16 BM%1-
1: ���@�M4-��7 �,���������-�UUA
1; BM! 0@B( ��I�JI�JA-
15 ��@B�%1A
1< (I�JM( ����IBJI�J-
19 �
13 !������@A-
Figure 4.11. Code resulting from parallelizing the loop in Figure 4.10 with dynamic last value assign-
ment.
������ ��� �������� �� G ���� ���� ��� ����� ��� ������ �� �������� �� ���� ������
�� !� ������ ���� ��� ��B�� � �� � �� ��� �������� ��������� �������� ��� ���%
F� ��� �� ��� ;� ����� ���� �� ����� ��B��� �� !� ��� �� �������� ��� ������� �������
������� �� ���� ���� ��� ������������� ������ �� ��� ������ ����� @��� 15A�
#� � ���� ,& 8 ������% � ������� ��� �� � ���������� ��� ����� �� ����!�
���� ��� � �!�� �� �����������
)�1�� (������� �������
( � ����� ����� � �� � !� �!������ �� ��� F�� ������� ����� ��� ���������� #� ��
�� �� �� � �B���� ,& 8 ���� ��������� � ������ & ������ ,& 8 ������% � ���
���� ������ �� ��� ��B�� � ����%����� ��� ���� ���� ������� "������ �� ��� ����
�� �B������ ������� ��� ����%� ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 95
![Page 93: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/93.jpg)
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
DD >����� ��� �������+� ��� ������ ����%����� �����
1 ��� ( ��I7 �0�����J-
6 ���@�M4-����7 �0-�UUA
: / ��I�JM%1-
DD &��F� �� ��� ��������
; &��F�"�������@��B�� � ��������� ��� ���� ( ��7 �0�����A-
DD #�� ����� 4��7 �� ���� ����� ��� ����������
5 ���@�M��7.����-����70��-�UUA
< �@�I�JA�
9 / ��':��4;:�I�J;9 � � �-
3 / ��:�I�J;9,�>-
2 � � �M/ ��':��4;:�I�J;-
14 �
11 &����� ��@A-
16 !������@A-
DD &���%� �
1: ���@�M��7 �0��.����-����7 �0��0��-�UUA�
1; ��@( ��I�J�%1A
15 (I�JM( ����I( ��I�JJI�J-
1< �
19 !������@A-
Figure 4.12. Parallelized reduction code with dynamic last value assignment under PCLR.
=��� �������� � ����� ������ ��� ��������� ��������� �� � ��� �������� ��� ����%
� � �� ������ 0���� ���� ���� � ��� ���� ��� �������+�� ����� �� �������� ���� ��� �����
��� ����� �� � ��� ����� ��� ����������� �� ��� ������������� ����%������� =���
��� �������� �������+�� ��� ��� ����%������ ������� �� ��� ���� ��������� �������� �
���������� �� � ���� ����� (� ������ �� ��� �������+�� ��� �� � ����� ��� ������
���� �� ������ ��� �� ��� ����%����� ��� ������ ���� ��� ��� �� ������%������� (� ���
��� �� ��� ��� �B�� ���� � ����� G �� ���� �� � G �� ��� ��������� ������� ����� ����
��� ����%������� (���� ��� ���� ��������� �������� �� � ��� ����������� ������
��� �������� ������� ���� !���� �� � ����%����� ����������� )���� ���� ���� � �����
�� ��� ��� �� �B�� ���� ��� ������ ����� �� � ���� ��� ��� �� �� ��� �� ����%� � �� �
���� !��� ����������
9< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 94: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/94.jpg)
Related Work
$�1 )����� *���
7���� � �� ��� ���� ���� �� ��� ����� ������+����� ��� !��� !���� �� ��������%���
��������������� I0" ,21 N844J� #�� ���� ������ ��������� �� ���� ���� �� ��� �����
�� �� ��� ���� �� �� � � ��� I 8�2;J *���� � ��� I*,K�22J ��� ��� ���� �� ��������
���������+����� ���������� I.�=35 K�=32 KKL�3: L8'33 L> '39 L> �2:
,.K�35 ,735 '��31 *N39J�
�� � � ��� !���G� ������� �� ���� ������ �� ,& 8 �� ��� ���������� �� �����
8�������!� '����� ������ @8'�A I 8�2;J� 8'� �� � ����� �� ������ ������� �����
!������ � ��� !� �������� !� ��� �������� #��� �� 8'� �� � ����� �����������
��� ��� ������ ���� #�� ����� ��� �������� ��� ������!���� �� ��� ����� ���� !���G�
��� �������� �� ��� ������
*���� � ��� ������� � ����F�� ������%������ ��������� �� ���� ���!���� !��� ����%
����� ������+����� ��� ��� ����� ������+����� I*,K�22J� �� �������� �� ���� ����
����� ����� �� � �����F����� ����F�� � ����������� ��������� �� �� ���� ���������
�������� ����� ��������� �� � ����� �� ������+� ��� ����� ������+������ �� ��������
���� �� I*,K�22J � � ������ ��� ��� ���� ��� ������� ��� ������ ������ ���� � �
�������������� �� ����
����� ��� ���!����� � ����� ���� �� ������� ��� ��� ��������� �������� �� ������ ��
��� �B������ !��� �� ���� �� �������� � ����� ��� ���������+����� ��� ���!����� ������
'��������+������ ���������� ��� ������� �� ��� ����� ������+������ !��� �� ���� ��%
�������� ���� ������� �������� ���� ��� ������� ����������� !� ������ ���� ������
������ 8���%������%=���� ������ �� � ������ �����!�� ' �� ���������+����� ���� ��%
� ��� ��� � D����� !�� �� ��� "0, � ����������� I'��31J �����C(�� ��������� �� ���
7N$ $������� ��� IKKL�3:J ��� �����C)� ���������+����� ���������� �� ��� �.�
8,: I.�=35 ,.K�35J � ����� ��� ���!����� ����� IL8'33 ,735J ��� ������%
!���� ���������+����� ���������� �� &���� IL> '39 L> �2: *N39J ��� ��� ��� ��
���������+����� ���������� �������� !� K������ � ��� IK�=32J�
$�2 !�����(
�� ���� ������� � ��� ��������� �� � ����� �� �����% � ����� ��� ������ �� ����!�
������%������ � ������������ ��� !��� ��������� #�� � ����� �������� �� ��������� ��
����F������� ���� ��� ����� ���F��� �� ��� ��������� ���������� =��� ���� � �����
�� �������� ��� F�� ������� ����� ���� ������� ������� �� ����������� ���������
��� ����� ��� ������ #��� ����� ����� ���� ���� �� ����������� �� ��� ���� ��+� �� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 99
![Page 95: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/95.jpg)
Chapter 4.Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
����� ���� �� �� ��� ���� ��� �� �� ���������� �� ��� ������ ����� =��� ��� ��������
� ����� ����� ��� ����� ��� ����� � F�� ����� G �� ���� ���� ����� ���� �����������
��� �� ��� ����� ��+�� )���� ���� ������ ����+�� �� � ����!� ����� ��� ������
=��� ����������� ��������%��� ������+����� ������� ������� ����� �� �� 6�9 ��� 1<
���������� ��� �������� ������ ������� ������� ����� �� �� 9�<�
93 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 96: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/96.jpg)
��� �����
I.��33J $� .����O��� 9���� (������� �� +�� ��������� L ��� (�������
, !������ 7���� �( 1233�
I..)�3:J .�8� .����� 8�0� .� ������ .�>� )����� >� �� '����� '� '����������
��� �� L��� �� &"(8��H ( ,������ ��� ��������� �� 0����� ����%
��+����� ��� >������� &�� ������� :����� �� '������������ '������
;@6AH139R619 123:�
I.>0�2<J =� . �� 8� >��� 8� 0�������� �� K�� � �� "��G����� #� �������
�� �� >� ,�� � N� ,��� .� ,�������� � 8� �������� ��� ,� # � (�������
,������ 8���� �� ���� ��� "���%,���������� &��� ���� ���� ,������ )***
'����� 62@16AH93R36 >����!�� 122<�
I.�=35J =� &� .������ L� ,� ��( �/� ��� �� =����� 8,: ,��������%������ 0�%
����� �� ,� � �� �� .1$% )��/� '���� �� ,����� ,� ����� 0)',,4$%3
����� 936R932 1235�
I&"'�22J ��.� &����� =�&� "���� �.� '���� ��8� '������ � *���� 0� � .� �%
���� (� >���� &�%&� L � 8� L ������� ��(� ,����� � '�������� ���
#� #�������� ��� ��H . ����� � '������ ������ &�������� �� ,� � �� ��
%�� )��/� +�������� �� 8��� ,����� '����� ( ��� �� 08,'(4113
����� 94R92 ��� ��� 1222�
I>K,�46J �� >��� ���� K��+����� �� ,�� ���� (� � � "� N 7� (���� � 8� ���%
����� ��� ��#������� '����(��� �� (��������� &������ (������� �� "���
,���������� &��� ����H &������%(������� '������� ��� "������� ' �����
��� 8�� ����� )���������� ��=������ �� ,����� *������� � �����
��� ��� >�� � +������ I�� �� <+A < � D������ +����� ,��
��� ��!� ��� 6446�
92
![Page 97: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/97.jpg)
Chapter 4.Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
I>�8�25J �� > / �� ������� K� 8������� ��� &� ������� ( ��� �� ��� : .���� �����
(��!�� ' !�������� ��� '����� ��������� #������� 8����� 8( %#8%25%4;2
8 �������� (������ �!������� 1225�
I>'"2;J �� > / 8� '�����!�� ��� ,� "����� ",�%6 '���� �� (��������� ��� ����������
(����������� #������� 8����� &8,&%#82;;26 8��� $��������� 7����!��
122;�
I0" ,21J 8� 0�������� �� "��G����� *� � ��� >� ,�� �� 0B�������� �� ��� ( ��%
����� ,�����+����� �� �� � ,������%.�������� ,�������� ; �� <��� ��
'����� + �� %$1� ,� ����� �� �� 2�� =������ �� ;������� ���
'������ �� ,����� '��������� +���� '���� '( ����� <5R3: ( � ��
1221�
IK.33J =� K ������� ��� "� .��������� K8)�)'H K8)������ �)�� �� '�� �%
���� ��������� #������� 8����� �!������� �� ,������ &�������� $���������
�� K�������� 1233�
IKKL�3:J (� K�����! 8� K������� &� L� ��� L� ��( �/� � 8 ���� ��� �� '����
#�� 7N$ $������� ��� % >�������� �� ���> '����� ������ ,���� &��%
� ���� �� )*** ����� �� '������ ����� 195R132 ��!� ��� 123:�
IK,*�41J ���� K��+����� �� ,�� ���� N� *���� (� � � "� N � 8� �������� ���
�� #������� (�������� �� ' ����� ��� ,���� 8�� ������ �� '���!� '�����%
������ � ������������� �� ,� � �� �� )��/� '���� �� ,����� ( ���
� ��� ��� '���������� � ���@�� 0,('�46.3 ����� 6;:R65; '�����!��
6441�
IK�=32J ��8� K������ ��L� ������ ��� ,��� =����� 0����� '��������+����� ,���%
������ ��� ����%'��� &����%&������� � ������������� �� ,� � �� �� 7� )��/�
'���� �� ( ��� ���� +����� �� ,�������� ;������� ��� ?����
��� +����� 0(+,;?+4$13 ����� <;R9: (��� 1232�
I"��44J �� � "������� ',0& &,$6444H ���� ���� &,$ ,���������� �� ��� 7��
����� �� )*** '����� ::@9AH63R:5 � � 6444�
I"L>�2;J �� "������� �� L ���� >�)��� �� "������ �� .�B��� ��,� '���� 8� '�����
L� K���������� >� 7������� �� "������+ (� K ��� �� 8����! � ���
�� "�������� #�� ,���������� ������ �� ��B�!���� �� ��� '������� � ('"
� ������������ �� ,� � �� �� B�� )��/� '���� �� ( ��� ���� +���
��� �� ,�������� ;������� ��� ?������� +����� 0(+,;?+4123 �����
69;R635 )���!�� 122;�
34 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 98: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/98.jpg)
References
IL> �2:J >��� L �� 0�'� >������� >�"� ����� (�"� '���� ��� &�E� *� � #��
&���� '����� ��� �� ������ ,���������� '� ��� �� ,� � �� �� -6�� (�����
)��/� +�������� �� '����� ( ��� �� 0)+'(4173 ����� 61:R66; ���
122:�
IL> '39J >��� L �� 0�'� >������� >�"� ����� ��� (�"� '����� * ������� ,��
���� '�������� ( ��� ���C E���� . � +� ��� ���� � �� +�� ��������
������� ,���� ' ������� ���� #���� ��� ��� &���� (������� ����� 1R6:�
�� �� >������� ������ 7����%"���� 7�� N��� 1239�
IL)"�2;J �� L ���� >� )��� �� "������� �� "������ 8� '����� L� K����������
�� &����� >� 7������� �� .�B��� �� "������+ (� K ��� �� 8����! �
��� �� "�������� #�� '������� � ('" � ������������ �� ,� � �� �� -.��
(����� )��/� +�������� �� '����� ( ��� �� 0)+'(4123 ����� :46R:1:
(��� 122;�
IL8'33J &�,� L� ��� � 8 ���� ��� �� '���� 0����� '��������+����� �� � ��%
���������� ���� '����� ������� ('� ����� �� ,�������� ;������� ���
+����� 14@;AH592R<41 )���!�� 1233�
IL� 3<J &� L� ���� 0����� ,���� (�������� ��� K���� ,��!���� �� ,� � ��
�� .1$B )��/� '���� �� ,����� ,� ����� 0)',,/$B3 ����� 3<2R39<
( � �� 123<�
IL#23J �� L������� ��� �� #������� (� 0B�� ����%>����� ��������� ��� ���� ���
(�� ���� '�� ����� �� ' �������� ,���������� �� )��/� '���� �� ,�����
( ��� ��� ��� '���������� � ���@�� 0,('�41$3 )���!�� 1223�
I ��26J ��#� �������� )����� ���� �� ,����� (�������� ��� ( ��� ���C (����
��� 8�� ���� ������ L� ����� 1226�
I K�26J >� ������ �� � ��� L� K���������� =� =�!�� (� K ��� �� "�������
�� "������+ ��� �� '� ��� #�� '������� >��� � ������������ )***
'����� ����� <:R92 ����� 1226�
I 8�2;J �� 8� �� � .� 8������� ��� K� ������������ &�H ������ '����� ' �����
��� ,���� ��� ��� �������������� �� ,� � �� �� B�� )��/� '����
�� ( ��� ���� +����� �� ,�������� ;������� ��� ?������ +�����
0(+,;?+4123 ����� 643R613 )���!�� 122;�
I,.K�35J K� ,F���� =� .������ >� K����� '� "����� =� L�������� L� ��( �/�
0� ����� (� 7����� ��� �� =����� #�� �.� 8������� ,���� ,��������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 31
![Page 99: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/99.jpg)
Chapter 4.Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
,�������� @8,:AH ������ ����� ��� (�������� ��� �� ,� � �� �� .1$% )��/�
'���� �� ,����� ,� ����� 0)',,4$%3 ����� 9<;R991 1235�
I,735J K� ,F���� ��� (� 7������ P"�� '���P &��������� ��� &��!����� �� � �������
��������������� 7�������� �� ,� � �� �� .1$% )��/� '���� �� ,�����
,� ����� 0)',,4$%3 ����� 924R929 ( � �� 1235�
I'��31J .��� '����� (�������� �� ��� (��������� �� ��� "0,� ����������� &��� ���
'������ +,)* 623H6;1R6;3 1231�
I��2;J ��0� �������� ��� 8��� ������ ��7#H ( ����� 0�� ��� 0����� '�� �����
�� '�����%������ � ������������� �� ,� � �� �� + ��� )��/� =������
�� �������� (�������� ��� +��������� �� '����� ��� �� ������ �����
+����� 0�(+'?�+/123 ����� 641R649 ��� ��� 122;�
IN844J "� N ��� � 8� ��������� (������� 8�� ����� ,�����+������ �� ,� � ��
�� -666 )��/� '���� �� +�� �������� 0)'+4663 ��� 6444�
I*��21J "� *���� +�� ������ �� ,����� ��� E �� '������� (&� ,���� 7��
N��� 7�� N��� 1221�
I*,K�22J N� *���� �� ,�� ���� ���� K��+����� � 8� �������� ��� �� #������� (
��������� ��� '��� ����� ,�����+����� �� >�����! ��� '�����%������ � %
������������� #������� 8����� &'8>%1536 $��������� �� ������ �� $�!���%
&�������� � � 1222�
I*N39J &�E� *� ��� ,�&� N��� ( '����� �� 0������ >��� >��������� �� ����
� ����������� '������� �� )*** ����� �� +����� *������� ����� 96<R
9:2 � �� 1239�
36 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 100: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/100.jpg)
������ "
� ����"� �� ����� ��"� ��� �
���������#� �� ������#��
�� ������������
'��� ����� ������%��� ������+����� ����������� � �� ����%��%����+� ����� �� ������
(� ���� ����� ����� � � ���� ������ ���� �������� ����� �� ���� ����� ���� ����
���� ����� �� !� ��������� ! /���� ��� ����� � �������� ' �� ����� ��� ���� �������
� ���� �������� �� ��� ���� �����!�� ( � ����������� � �� ! /�� ��� � ���������
������ ���� ����� ������� ��� ������! ��� ������ ! /��� ��� ���������
#��� ������� �������� � ���� ��B����� �� ���������� �� ! /�� ��� ������ � �� ������
#�� ��B����� ��� ��� � ���� ���������� �� ��� �������� �� ��������� �� ��� � � ��
�������� ����� �� ������ ������ =� ������� � ������/ ������� ��� � ������� �����������
��� ����� �� ��� ��/����� ���������� ���� � ����� >'� ��������� �� ���������� ) �
��� �������� ��� ���� � ����� ��� ! /����� ��� ����� �� � ���� ���� ����� ����� ���
�������� �� � ��������� �� ���� ����%�/������ ���� � ����� ��� ������� ��� ����� �� �����
���� ������ �+��� �������� !��� � ������ ���� ��������� �/���������� ��� ��� !�
����� � ���!����� ����� � ������ ���� � � �� ����� �� ���� ������ �� ���� ��! ��
���� ��� ���� ��������� �� ����� ! � ���� �B������� �� ���������
'�� �����������
'��� ����� ������%��� ������+����� �������� �� �B����� �������� ���� ����%��%
����+� ����� ��� ����� ���� �������� ���������%����B�� ��� �� ��� ����������� ��
����������� �� ��� �%��������� ��������� #�� �������� �� �� ! �� ����� ���� ���
���� ��� ���� ������ � � ���� �� ����� ������ ��� �� ������ ��? ����� �����%
3:
![Page 101: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/101.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
����� (� ����� �B�� �� ������ �������� �� �������� � ������ ����� ���� �� ����������
������ ����� �� !���� � ���� �� � ���������� ��� �� ��� ����� �� ��� !� ��� �/������
����� �� �������� ��� ��� ����� ��� ��� ���� ���� ��/����� ������� ���� !��� ���%
����� ������� ���� ��������%!���� I&�#44 �'2< ��41 K�''23 "=)23 L��3<
L#22 �K22 )=,�41 ,K8#41 '.�25 '&�29 '&*�44 #"(�22 *��22 *8#22J
�� ��������%��� I� (41 K723 8,25 8'44J ������� ��� ��������� ��� ��%
������ I�'2< K�''23 "=)23 L#22 �K22 )=,�41 '.�25 #"(�22J �� ����!�
���� I&�#44 ��41 K723 ,K8#41 8,25 8'44 '&�29 '&*�44 *��22 *8#22J�
(� � ���� ����� ���� �B�� ��� �� ��������� ���� ����� ������ ������ ' �� ����� ��
����� ��� ������� �� ���������� ���� ��������� ���� ��� ���� ����� �� ��� ������
������ ��� ��� ����� �� ����� ���� ����� ������ �������� �� �������� ���� �����������
!������ ����� ��/����� ���� ����� ����� � ����� ���� ������ ��� �������� ��/�����
�������� �� ��� ���� �����!�� �� ���� ���� ������ ����� � �� ���� � ��� �� �������� ���
������� ������� ��� ��� ������� �� �������� ���� ���� ������ ����� � �� !� ���� �� ���
������� ������ ����� ��� ����� �� � ��������� ���� ��� !��� � ����� � ���� ����� ���
��� � ������ ���� ����� ����� ���� � ���� ����� ��� ���!� ���� � ���� ��������
�� ��� ���� �����!�� &���� ����� ��� ������! ���� �� ������ ! /��� ��� �������� ��
������%������ � ������������ ! /����� ��� � ��������� �������� � ���� ����� ��
����� �������� �� ����������
. /����� ������� �������� �� ��� ������ �� ������ ���� ������ ����� �� ��/��%
��� ����� �� ���� �������� ���� ����� ����� ! /�� ����� ����� ��������� ��
� �� I&�#44 ��41 K�''23 L#22 )=,�41 '&*�44J ��� ���� I"=)23
#"(�22J �� �� ��� ���� I�'2< ,K8#41J �� ����� ���� ����� ���� ������� �� �����
�������� ���� ����� ����� �������� � ��� �� ������ ���� ���� !����������� �B�� ����
�� ���� �� �� ���������� I� (41 K, �41 *��22 *8#22J� )���� ����� ��� �������!�
��/������� �� ��� ��� ������ ! /��� ��� ��� ��� ��� �� ��� ��/����� ��������
$����� ����� ������� ��� ��� ���+����� �� ���� ����� ������+����� ����� �� �� ���%
������� �����F������ ��� ������/ ������� �� �����!� ! /����� ����������� $���������%
��� ��� ������� ������ ������� ��� ��� �� �� �� ��� ����� ��� ���� �������� �� �����������
������� ��� �� ��� ������ ��������� �� � �������������
#��� ������� ��������� ���� ��� � ��� ����� ��� ������! ������ ����� �� ������ ���
� ���� ��B����� �� ���������� �� ! /�� ��� ������ � ��%������� ���� ����� ������
����� �� � ������������� #�� ��B����� ��� ��� � ���� ���������� �� ��� ��%�����
�������� �� ��������� �� ��� � � �� �������� ����� ���� '���� ��� ,��+� � I',33J ��
������ ������ )� ���� ��B����� �� ��� ��� ! /����� ������� �������� �� ��� ������ ���
#�� ������ ������! ���� �� � ������/ ������� ��� � ������� ����������� ��� �����
3; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 102: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/102.jpg)
Buffering State Under Speculative Parallelization
�� ��� ��/����� ! /����� ���������� ���� � ����� !������ ��������� �� ���������� ) �
��� �������� ��� ���� � ����� ��� ! /����� ��� ����� �� � ���� ���� ����� ����� ���
�������� ��� ��������� �� ���� ����%�/������ ���� � ����� ��� ������� ��� ����� �� �����
���� ���� ������ �+��� �������� !��� � ������ ���� ����� ��������� �/����������
��� ��� !� ����� � ���!����� ����� � ! /����� ������ ���� ��������� �� ����� �� ����
������ �� ��� �� ��! �� �� ��� ���� � � �� ����� ������ #�� ����� ������ ��� ! /�����
�� ��������� ����������� !����� ���� �� �� �� ���� �B������� �� ���������
#��� ������� �� ������+�� �� �����H '������ 5�6 ������ ��� ��� �������� �� ! /�����-
'������ 5�: �������� � � ��B����� �� ����������- '������ 5�; �B����� ��� ���� �������%
������ ��� ��H '������ 5�5 �������� � ������/ �������- '������ 5�< ������!�� � � ��� �����
����������- '������ 5�9 ��� ���� ��� ��/����� ! /����� ����������- ��� '������ 5�3 ���%
� ���� #���� ���������� ( . ��� & ��������� ��� ������� ���� !������ �� �������
��� �B��� �B���������� #���� ���������� ��� !� ������� �� ��� ������ �� ������� ����
������%��� ���� ����� �������
'�� 3�4���� !���� 0��� !"��������� ���������������
&���� ������ � ����������� ��������������
'��� ����� ������%��� ������+����� �B������ ����� ���� ��? ����� ����� ��� �B�� ���
���� �� ����� ������ ��� �� ������ ��� ��? ����� ���������� $���� ���� ����� ������%
��� ������+����� ��������� ��������� ����� �B�� �� �� ������ (� � � ���� ����
���������� ���� � ���� ��� �������� �����%���� ���� ����������� ���� ���������� ����
����� ������ #� � ������ �������� �� �������� � �� ��� �� ���� ����� ���� ����������
��� ������ ������� ��� ������� ��� �B������ ��? ����� ��������� �� ��� ������� �����
(� ��� ���� ����� ���� � ������� ����� ������� !� ��� ��? ����� ���� ���� ���� �����
&����? ���� �� �� ��� ����� ����������� ��� � ������� ������ �� �� ���� ���������� �>�
�� � ������� ����� ��� �����%�> ���� ��� � ����� �� ���� ��� ������ ������ ���� ���
������ ��� ���� �� �������
=��� � ���� ����� ���� F������ �� ������ ������ ��� � ��� ������������ ����
F������ ��� ���������� "������ �� !����� ������� ��� ��!����� ���� � ���� �����
���� F������ ��� ��������� ���� ��� �� ��� ����� �� �B�� �� ������� ���� ����� ����� (�
��� ���� ��� ������ �������� ���� ���� ����� ����� ������ F������ �� �F������ ���
��� �F������ ���%���� ����� ����� #�� ��� �� � ����� ����� �� ���� ��� ������ ��
�� ������� ������
�� ��� ���� ���� F������ �B�� ���� �� ��� ���%���� ����� ��� �� �������� &���������
�� ���� ������� ������� � �����!� ���� ��� '����� ,���� @',A ����� ������F�� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 35
![Page 103: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/103.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
��������� ���� ���� ��� ������� �> ��� ������ ������� ���� ���%���� ������ ��� �� 5�1
����� �� �B���� �� ������ ����� � ����� �� �� � ����������� �� ���� �B���� ���� ����
#: �B�� ���� �� ��������� ; F������ ��� �B�� ���� �� ������ ������� �� ��� �� ���� ���
��� ������������ ����� #6 ��� #: ��� F���� ��� ������� "������ ��������� ; ��� �����
�� �B�� �� ���� #5� #�� �B���� ��� ����� ��� ��� ���%���� ����� ���� ���� � �������
�� ����� F���� ��� ������ @���%���� ���� �������A� �� ��� �B���� �� ��� �� ���� ���
������ �� ����������� ��
CP = 1
CP = 3
CP = 2
CP = 0
Non−spec
T0
1
Tak Timeline CP = Commit Point
T3
4Time
T1
T5
T4
3
T6
T2
Proc#
T7
2
Figure 5.1. A set of tasks executing in four processors. The commit point (CP) advance is shown
inside the non-speculative task timeline.
(� ���� ����� ����� �B�� �� �� ����� ������ �������� �� � ���� ����� ���������
������� ������ ��� ���������� ������������ ��� � ������ �� �� ����� ������ ����������
�� �������� ��� �����%���� ���� ���������� ������������ #�� �����!� ���� �����������
��� =(8 @=����%(����%8���A =(= @=����%(����%=����A ��� 8(= @8���%(����%=����A
��� ���� ��� �B�� �� ��%����� �� � �%��%������ #������ �� ����� �� ��� � �� �����
����������� �B�� �� � �%��%������ "������ � �%��%����� =(8 ��� =(= �����������
��� !� ������ �� � �%���� ��� ��� ��� �� ������ �� ������� ���� � ����� ��� � ����
�������� �� ��� ���� ��� �� �� ����� ������� �� ����� �B�� �� ���� �������� �������� ����
��� � �� ���� �������� ���� ��� ���� ������ ��� ������ ���� ��� �> �� ��� ���� ����
���� ��� ����� =(8 ��� =(= ����������� �� ����� ������� ��� ������ !� ����� �
������� ��� �������� ���� ��� ��/����� ������
8(= ����������� ��� ���� ���!������� �� �� ��%����� 8(= ��� ���� ����� �������
� �� F�� ��� ������� ������� ��� � ��� �� �� ��� ������ ����� "������ �� �� � �%��%�����
3< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 104: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/104.jpg)
Buffering State Under Speculative Parallelization
8(= � ���� ����� � �� � ���� �� � !��? ���� ����F�� !� � ����������� ����� ( ����
��� ������ ��� ����� � �� �� #�� ���� ����� ������� � �� ������ ���� ����� ��� ���
������ ���� ����� �� !� �? ������ )�������� � ��� � �������� ����� ��� ��� �? �����
!��� �� ���� ��� ���� ���� ��� �������� ���� ��� !� ��� �? ����� ����� =��� �� ��
�����!� �� ������ ��������� ������ ��� ��������� �? ��� ��� ����� �� �� � �� �������
�B��� �����B���� �� ��� ���� ���� � ���� �� �? ����� � ��� ���� ������ ���� ��� ����
� �� !� � ����� #��� ����� ��� ��� �� ��� ����� �B�� �����
���� ��/����� ������� ���� !��� �������� ��� ���� ����� ������%��� ������+�%
����� #��� ����� ���� ��������%!���� �� ��������%���� '��� �� ����� ������� ����
�� ��� ���� ��� ���� ������ ������ ����� >�����! ��� '����� ������ ��������� ��
��������%!���� ���������� � ������ ��!� ������� ���� ������ ���������� ��� ������ ���
���� ������������ ��� ���� ������ ���������� ���� ��� �� �� ����������� ��� ������
���� ������ ����� �� ���������� =��� ����� ������� ������ ��� ��� ����� ����� ������
�B�� �� �� �B��� ��������� ������� �� ����� #��� ������� � �� �� ���� ������� ��� ����
�� ��������� ��� �> �� ��� ���� ���� �B�� ��� ��� ��������� ��� ��� ���������� ���%
��� �������� #�� ������� ����� �� ����� ��� ������ ��!� ����� � ���� ����������� ��
��������� �� �������� ��� ��!� �� �����% � �� F�� � � �� ����� ����� ���� �������� ���
���� ������ ������� !������ �� ���� ���� ��� ���� ����� ������� � �� ����� �������
������ ������� � �� !� ���������� �� ��� �B���� ��� ������� ��� � ����� ��� ��� ��!�
��� �������� ���� � � ������� ���� ��� ������ �� ���� ��� ���� ���� @� �%��%����� 8(=A
��� ������ ���� ��� ��� � ������� ���� ���� �� !� �? ������ "������ �� ��� ������� ���
� � �� � ���� ��� ��� ����������� �� ��� ��!� ���� ���� ���� ���� ��� ������ �� �������
!� ������� ���� @��%����� 8(=A ��� ���� ����� ������� � �� F�� ��� ������� ��������
�� ���� ���� ��� ��!� ��� �����%� � �� ��� ��������� ���� ����� ��� ������� ���� ��� !�
��� ������ ���� I&�#44J �� �� ��� ���� � ������� �� � ��� ������� �� F�� � � �����
��� ��� ��� ������� ������� I,K8#41J� ����� ������ ���� ��� � ���� >'� ������� ����
��!� ��� � !� ������! ��� ��� ������ ���� �� ��� ��������� �������� ���� �� ��� ����
�� � ��� ������� ��� �� ��%���� � ����������� �� ��� !� ������ !������ ��� �������
1%������ ��� ��� ������ 6%������ #�� �B��� ��������� ������������ ���� �� !� ��������
� �� ���� ���� ��� �������� ������+�� �� ��� !������ ��������� �������� ��� ������+��
�� ��� ��������� ��������� #��� ���� ������+��� ����� �� ��� �������� (� �� �B����
(������B ( �������� �� ����� ��� ���� ����� ������� �������� �� I*��22J� �� � ������
� ���� �������� �� ��� ���� ��� ������� ����� ���� �� '������ 5�:�: �� � ��#C��
�+� ��� ��������
7�B� �� ������!� ��� ��� ���� ������� �� ! /����� ����� ���� ��� ������ � �����%
����� @'������ 5�6�6A ������� ���� � �������� ���������� ���� @'������ 5�6�:A ��� ���� ��
�� ������ �� ���� ������� ���� ��� �� ������� ! /����� @'������ 5�6�;A�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 39
![Page 105: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/105.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
&���� * �������� �� �������� �����
=� �������� ����� ���� ��� ���� �� ! /����� ����� �� � � ����������� ������ �������
��� � ��� �� ���&�& �� $ �. �� ��
'���� � ���� ����� ���� ��� !� �? ����� ��� ������ ��� ������ #�������� ����
��� ������� ���� �� ������ I&�#44 ��41 K�''23 L#22 )=,�41 '&*�44J ��
! /��� I�'2< "=)23 ,K8#41 #"(�22J ��� ��� ������ ���� ��� ���� ����� �� ���
������ ������ �� ��� ����� �� ����� ������ #������ ���� ��� ���� F��� !������
���%���� ����� ��� ������ ��� ������ ���� ��� ���� ������ ������ &����? ���� ���
� ����������� � �� �� ��� ������! ��� ������ ! /��� ��� �������� �� ���� ��� �����
�� ��� ��/����� ���� ����� ����� �������� ��� ����� ���� �� ��� ����� ����� �� ���� ���
������ ��� ����� ������ �� � ���� ������
������� 3������ �� ��� � !� 3 � ��� � ��� �"���!
( �� ����� �� � �����!� ������� �� ��� ������ ���� � ���� ������ ��� ��� F��� ���� ��
���� �����!�� #� � ���� ��� ���� ����� ����� � ����� �� ��/����� ���������� ������ ���
��/����� �������� �� ��� ���� �����!� I&�#44 K�''23J ����� �� �� ���� � =(= ��%
�������� !������ ����� �� �������� �� =(= ����������� =(8 ��� 8(= �����������
��� ��� �B��� !������ ����� ���� ���� ������� ��/����� �������� �� ��� ���� �����!�� ���
�B���� �� ��� �� 5�6 � 8(= ���������� ������� !������ ���� #1 ��� #6 ���� ����
#6 ����� ��� �����!� B ���� ������ �� ��� ������� !� ���� #1� '���� ���� ���� #6 ���
������ �� ��� �����!� B #1 ��� #6 ���� ��� ��/����� �������� �� ��� ���� �����!��
=(= ����������� ����� ����� ������ �� ����������� ���� �B��!�� �����%
�������+����� ��������� $���� � �� �������� ���� ���� ������� � ��� ������� �� ��� �����!�
����� � F��� ������� �� ���� �������� )� �� ��� ���� ������� ��� � ��� !� � � �������%
����+�!� �� ��� �����!� �� � ���� !��� �������+��� ��� �� 5�6 ����� �� �B���� ��
=(= ����������� ����� ����� #4 % #: ����� ��� ���� �����!� B�
7����� ���� �� ��� ���� �� ��� ������ � ���� ������� �� ������ �� ���� � ����� �������
�� ��� ����� �����!� �� � ����� #�������� � ���� ��� ����� ������ ����� �� ��� ����
�����!� ! � ��� ��������� ��� ����� �� ���� ��� ��� ������� ���� ��� !� ���� ����� #��
������ �� ���� �� � ���������� ���������� �� ��� ��� ���� ���� �� ����� ��� ��� �
����� �� ��� �B���� �� ��� �� 5�6 ���� #: ������ ����� �� ��� ���� �����!�� "������
��� ��������� ��� ! /��� ��� �� � ������� !� ��� ��� ����� @; �� ��� �B����A�
. /����� ����� ���� ����� ���������� �� ����� '����F��� �������� ���� ��/�����
���������� � �� !� ������ ���� ��� ���� ������ ����� �� ������� ���� ������ � ���������
���� � ���� �B�� ��� � ��� ������� �� �� ��%����� 8(= ���������� �!������� ��� �������
������� �� ������� #�� ���� ����� ������� � �� F�� ��� ������� ������� � � �� ��� ������
33 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 106: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/106.jpg)
Buffering State Under Speculative Parallelization
321
T2
Proc#
T0
4
x= 5x= 3
x= 4T3
.. = x
Time
T1x=
x=
Figure 5.2. Multiple versions of the same variable in the system. Examples of in-order RAW, out-of-
order WAR, and WAW dependences.
��%�B������ �� ��� ������ ��� ������� �� �� ��� ������ ����� (� �B���� �� ���� ���!��
������� �� ��� �� 5�6 ���� ���� #6 ����� ��� �����!� B�
������� 3������ �� ��� � !� 3 � ��� � � ��
=��� � ��������� F������ � ���� ���� ������ ������ !��� �� �� �� ��� ���� ����� ���
��������� ��� !� ������ �� ���� (���������� ��� �� !����� ������� ���� ��� ��!�����
�� ��� !� ����� �� ����� � ��� ����� �� ���� ���� ��� ���������P� ����� ��� ���� ��
��� ���� ����� �������� ���� � ���� ������ ' �� �������� ��� ������ ���� ��� �����
���� �> @��� �� 5�:%@�AA� �������� �� �� �����!� ���� ��� ����� ��� ���� ���� �� ���
� ���� �������� �� ��� ���� �����!� @��� �� 5�:%@!AA� #��� ��� ��� � �� ���%��!������
����������� ���� �B��!�� ��� �����%�������+����� �������� ���� ���� �!����
(a) (b)
Task−ID
i0x400
2
Tag Data
0x600
Task−ID DataTag
2ij 0x800
2 ji
k 6
0x4000x4000x400
24
Figure 5.3. Example of a cache keeping versions from different tasks and different addresses (a) or
different tasks and the same address (b).
(���� � ��� ���� ����� �������� ���� � ��������� ����� �� ! /�� �� ��� ������� ���
��� ���� ������� ���� ��� �������� ��������� #�� ���� ������� �� ��� ��� ��������� !� ���
�� ����� ���� ���� ��� @�� �� ��� � �����A �� � ��������� ��� ����� ��� �����!�� �� �� ���
������� ���� �� !� ��� �� ������� ��� � !��? ��� ��� ���� ��� ���� ���� ��������� ��
��� �����!� �� ���� ����� ( ��� ������ � ����������� �������� ��� �������� ��������� ��
��� �B���� �� ��� �� 5�; �� ���� � ��� ��� ������� �� ��������� ; �� ��� ��� ���� �� � 5
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 32
![Page 107: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/107.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
���� ��� !� ���� #5� (�� � !��? ��� ��� �� ���� �����!� !� ���� #5 �� ���� ���� ���
�������� ( ���%��� ������� �� ��������� ; �� ��� ��� ���� �� � ;�
(����� �� ���%��� �������� ��� � ��� � ��� ���? ����� #��� ��� ��� � ���� � ����
�B�� ��� � ���� ������� �� �� ��%����� 8(= ���������� ��� ��� ������� ���� ��� !�
��� ������� ���� ��� !��� ������������ ��� �B���� ���� ���� #; �� ��� �� 5�; �B�� ���
� ���� ��� ������� � ����� �� ��� ��� ���� ��� !� ���� #: ! /���� �� ��������� ;� #���
������� �� � ���%��� �������� 7��� ������� ���� ��%����� 8(= ��� �? �� !� �����F��
���� ��� ��������� 8����!�� ��� �B���� �� ��� �� 5�6 ����� ���� 6 ��� �B�� ��� � ����
������� �� �� ��%����� 8(= ����������� �� ���� ���� ��� ������� �������� ��� � ���
��������
T2
Proc# 1 2 3
T3
T0
4
x= 4
x= 5
t
T7
T6... = x
Time
T1
T5
T4
... = x
... = x
Figure 5.4. Multiple local speculative versions. Last versions and non-last versions.
�������� ����� ���� ����� ���������� ����� �������� ���� � ���� ����� ��� ���B���
�� � ��������� �� ���� ������� )� � ���� ������ ������� ��� ����� ��� ������� ��? ������
&������� F��� � ���� ���� ��� ���������� #�� ����� �� ������� ��� ���� ��� �� ������� ���
��� ����%�> ����� ���� ��� ��? ����� ������� ��� �> �� ��� ��? ����� ���� ������������
)� � �B����� ���� �� � ����� ��� ����� �������� ��� ���� ��� ���� �> �� � ��� �������
���� ����� ��� ������� ��? ������ #�� ������� ������� �� ��� ��� ���� ��� ������� ���� �>
���� �� ��� ���� ���� ��� ��? �����P� ���� �>�
&���� (���������� �� ������
#�!� 5�1 � ������� ��� ����� ��� ���� ������!�� �� '������ 5�6�6� #�� �����������
@���� ���� �� '������ 5�<�6A �B�� �� ���� ������ ������+�� ���� �� � ��� ���� 1<%
��������� &&%7$�( @���� ���� �� '������ 5�<�1A� &� �� 6 �� ��� ��!� ����� ����
24 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 108: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/108.jpg)
Buffering State Under Speculative Parallelization
�� ���� ����������� ����� ��� ��� �� 13%62 ���� ����� ����� �� ��� ������ �� � ����
���� �� ��� ���� ���%��!������ ���� �� �� ,7� ��� � �!�� �� ������� ��������
&� �� : ����� ���� ���� ��������� ��� ���� �� ! /�� ��� ����� �� ���� ���� 1 ���� �����
���� �� � �����
P3m 50.0
1.61.81.31.1
Tree 99.599.460.00.60.5
ApsiBdna
Average Written Footprint
Priv %
87.9
Average # Spec TasksApplication
2.032.0
In System Per Proc
800.0
25.628.8
2.3TrackDsmc3d
per Spec Task
17.6 0.8
20.023.70.91.7
Total (KB)
20.8
Table 5.1. Application characteristics that illustrate the difficulties of buffering.
��� �� 5�5 ����� �����F�� ���� ����� ���� ��� ����������� �� #�!� 5�1 ����� ����
���� ��������� � ��� ������� �� ��� ���� �����!� ����� � F��� ������� ���� ��������� ��
����� �B����� ��� ������ ��03 ���03 ��� ��� �03 ��� �������� ���� �����%�������+�����
��������� ��� �������� �� (��� ���� ���� ������� ��� ��� ���0�3 ������� ����� � F���
������� ��� ������ � ������� �� ����� #�� ������� �� ���0�0��L�L33 ���� � ���� �����
����� � F��� ������� ��� ����� ������� !� � ����� #� � ���� ��� �� �� �� �� !� � �
����� �� � �%����� "������ ����� ��� ������� �� ��!� �� � ������� ���� ����� ���
�� ������������� !������ ��� �� �� �� � ��� ��� �� �� �� �0��L��3 ���� ��� ��� �� !�
���� ������ �B�� ��� �� ������ '����� ���������� �� � !� ����� ��� ��� ���� �� ���
����� ������������
�� #�!� 5�1 �� ��� ; ��� 5 ���� ��� ��+� �� ��� ������� ��������� ��� ���� ����� ����
��� ��� ���������� �� �� ���� �� �������� ���� �����%�������+����� �������� ������������
#�� ���������� �� ��� ��� �� �� @,��A ��� !��� �!������ !� ���� ���� ��� � �� ����
��������� !� ���� ��. ��� ��� ������� !� ���� � ����� � F��� ������� ��� ��� ,7� �
#��� ��� (��� ���� ���������� �� ����� #� � ��� ����� ����������� ��� ! /�� ������
� �� � ����� ��� ��� � ��%������� ��� �� �� '������ 5�6�6H � ���� �������� �� ��� ����
�����!� �� ��� ������ ��� �� ���� �� ��!����� @&� �� : �� #�!� 5�1A � ���� ��������
�� ��� ���� �����!� �� ��� ���� ����������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 21
![Page 109: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/109.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
� �������%� ������� � � � �������%� ������� � � � �������%� ������� � �
� J � 1< �=1 � J @,��� �� �� � �� �
� *+, � � . � ���*� �,
���� -���*�, . -��� *(*��+��,, � J
� ��� � ���� �+ �����
� J � 1< � ���� +�-���*+,� ���*� �, �
���� ���� ����
���� ����
����
#�$ %�� #�$ �� � #�$ ����
Figure 5.5. Examples of non-analyzable loops that exhibit mostly-privatization access patterns. The
outermost loop is speculatively parallelized.
&���) (�����$ �� �������� /��� !�����%���
#� !����� ��������� � ��%������� ! /����� ��� ���� ����� ������+����� �� ������� ��
�� ��� �������� �������� !� '���� ��� ,��+� � ��� �������� F� ���������� �� ��������
���������� ���� ������� �B�������� I',33JH ��������� �� F� ������� ! /�� � � �� F� ���
������� ! /���
#�� ( ��� ���� A�� @(�A ������ �� ��� ��� �������� �� ��� �������� F�� #�� (� ��
������ ���� ��� ��� � �� �� ����� ����� ��� ���� ��� ����� ����� ��� �������� ���
� ������ � ����� ������ ���� ������ ������ ��� (�� 0B�������� �� ��� �/��� ��� (�
������
#�� >�� #�� @8).A ���� ����� ������ �� �B�� �� ���� ������ ����� � ���%
������ ��� (�� #�� 8). ����� ��� �������� ������ ��������� !� ����� ������ ���� ����
F������ ! � ��� ��� ���� ������ =��� �� ����� ����� ������� ��� ��� � �� ����� ����
��� (�� �� �� �B������� ��� �� ���� 8). ������� ��� !� �����������
#�� A��� A�� @��A ������ �� ��� ���� �� �������� �� ��� �������� F�� ( ��
����� �� ������ !� ��� �� ����� ����� ����� �� ������� ����� ������� ���� ���������
#�� �� �� ��� �� ��� ������� F� !� ���� ����� ������� =��� �� ����� ����� ������� ��
������� �� ������� "������ ��� �� �� ����� !��� �� �� ��� !��� ������ !� ����������
����� ������� #�������� �� �� �B������� �� ���� �� ������ ��� �� �� ��� (��
#�� 8����� #�� @".A ���� ��� �� �� !� ���� ������ ������� #�� ". ������ ���
������ �������� �� ��������� ������ !� ���� ����� ����� ������� =��� �� ����� �����
������� ��� ". ����� ��� !� ����� �� �� �� �B������� ��� ". �� ��� �� ������ ��� ��
�� ��� (��
=� ��� �� ������ !������ �������� �������� F� ����� ��� ���� ����� ����� ������
26 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 110: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/110.jpg)
Taxonomy of Approaches
��� �������� ������ ������ ����� ��� ���� ����� ������+������ ����� ����� �����%
���� ������ ��� �? ��� ��� ��� ���� ��������� ������ ��� �? ���� 0B�������� ���
��� ���������� ���������� ����� � ���� ����� ������ �������� � ���� �������� �� �
�������� ��� ��� � ���� ����� �������� � ���� �������� �� � �����!��
'�� ��5����( �+ �""������
&���� ����������� ����� *�%��������
#� ������+� ��� ! /����� �� � ��%������� ���� ����� ����� �� �B����� ��� ������������
��� �� 5�< ����� � �������� �� ��� ������ ����� �� � ������� ���� ��� 8). �� ".
���������
$���� ��� 8). ������ @��� �� 5�<%@�AA �� ��� ��� � ��� ���� ������ ������
����� �� ��� ������� �� !���� �������� �� �����F�� �����!�� @!��� ������A ��� ���
��������� �������� �� ����F�� �����!�� @����� ������A� #�� ��������� ������ ������
����� �� ��������� �� ���� ����� �������� ���� ���� ��� ��� ���������� #���� ��������
���� � �����+���� >�� #�� 0�>?#3 ������! ��� ������ ��� ������ �������
(���� ����� �������� �� ������� ��� !������ ��� ���� ������� �� ���� �����!� @�������
������A ��� ��� ����� �������� ���� ����� �������� ���� ���� !��� ����������� @������
������A�
buffer
����������������������������������������
Unmodified
Committed version
Non−last speculative version
Last speculative version
(a)
Youngerversions
Variablesstate memory system
bufferreorderMemory−system
Memory−system
Future memory system state
Older
Variables
(b)
versions
history
Architectural
��������
��������
��������
��������
����������������
��������
Figure 5.6. Snapshot of the memory system state of a program during speculative parallel execution.
We use the ROB and HB analogies in (a) and (b), respectively.
$���� ��� ". ������ @��� �� 5�<%@!AA �� ��� ��� ���� ������ ������ ����� ��
��� ������� �� !���� �������� ��H �����F�� �����!�� ���� ���� ����� �������� ���
��������� �������� �� ����F�� �����!�� ���� ���� �� ���� ����� �������� #�� ������%
��� �������� ���� ����� �������� ��� ��������� �������� ���� � �����+���� 8�����
#�� 0�8#3 ������! ��� ������ ��� ������ �������
>�������� �� ��� ����� �������� ��� ������� �� ��� ������� ��� ���������� ��
! /�� � ��%������� ���� ����� ������ �� ��� ������� �� ������� � ���� ��B����� ��
���������� @'������ 5�:�6A ��� ��� �B������ ������� �� ��� ��B����� @'������ 5�:�:A�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 2:
![Page 111: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/111.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
&���� 3���� ��4���%$ � (������ ��
=� ������� ��� �B�� �� ������� ��� ��/����� ���������� �� ! /�� ��� ������ ���� �����
����� �� ��� ������ ������ �� � ������������ @��� �� 5�9%@�AA� #�� F��� �B�� ������ ���
�������� �� '������ 5�6�; �� ���� ������ ����� ��� �����F�� ��� ���������� !���� ��
������� ���� ������ ����� ��� � ��� ���� @����A ����� �� ��� ���� @ �����A ����� ��
��� ��������
Memory−SystemHistory Buffer (MHB)
Caches
Main Memory
(b) System with ArchitecturalMain Memory (AMM)
Main Memory
Caches
(c) System with FutureMain Memory (FMM)
Tasks & Versions Per Processor?
MultipleSpec Tasks
Single Spec Task
(a)
Eager Lazy Eager Lazy
State in Main Memory?
Architectural Main Mem
FutureMain Mem
SingleVersion
MultipleVersionsof Same
Memory−SystemHistory Buffer
Mem
ory−
Syst
em
Reo
rder
Buf
fer
Memory−SystemReorder Buffer (MROB)
SingleVersion
Task
TaskTask
TaskTask
Task Task
Task
Task
Task
Task
Task
ArchitecturalState
FutureState
Figure 5.7. Different approaches to manage multi-version speculative state: taxonomy (a), keeping
the architectural state in main memory (b), and keeping the future state in main memory (c).
�� ������� ���� (�������� �� ���� ������ @(��A � ���� ����� �������� ������
�� ������ �� ! /��� ���� ��� ���� �������� ���� ��� �������� ���� ������ ������ )��
���� � ���� !������ ���%���� ����� ��� ��� ������ �� ����� �� ! /�� !� ������ ����
��� ���� ������ ������ �� ���� �������� ������ �� ! /��� !����� � ������! ��� �8).
@��� �� 5�9%@!AA�
�� ������� ���� � � �� ���� ������ @���A �������� ���� ���� ����� ����� ��� !�
������ ���� ��� �������� ���� ������ ������ "������ �� ���!� �������� ���� ����
�? ����� !����� � ���� ��������� � ���� ����� ������� �� � �����!� ��� ������ � �������
�� ��� �����!� �� ����� �� ��� ����� �� � ! /��� ' �� ����� �� ���� �������� ���� ��� ����
������ ������ �� ���� �������� ������ �� ! /��� !����� � ������! ��� �". @��� �� 5�9%
@�AA�
7��� ���� �� !��� (�� ��� ��� ������� ���� �� ��� �������� ���� ������ �����
��� ���������� ������ �� ������ @��� ��� 5�9%@!A ��� @�AA� #��� �� !��� �� ������ ���
� ������ �� ����� ���������� ��� �� �B�������� �� ���� �������
(�� ��� ��� ������� ��� ���� !� � ����� � !������� ���� *�� ��� ;��� ������%
��� �� ��� ���� ����!� �������� ��� ������ ���� ��� �������� ����� �� ���� ������� ��
����� ������� � ���� ������ ������ � ��� �������� ���� ���� ������ ���� �� �������
2; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 112: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/112.jpg)
Taxonomy of Approaches
@�� (�� �������A �� ������ ������ ����� ���� ����� ������� �� �� ��������� �� @�� ���
�������A� ������� ��� ������ � ����� !��� �� ������ I&�#44J �� �� ��������� ��? ���
�� �!���� ��������� ���� ���� ������ I'&*�44J� �+� ������� ������� ����� �+��
� �� �� ��� ���������� ���� ��� ����� �� �� �B����� ��? ���� (� � ��� � ������
��/����� ��������� �������� �� ��� ���� �����!� ��� ���������� ��%�B��� �� ��/�����
��������� "������ � �����!� ��� ��� � ����� ��������� ������� �� ��� ����� #����%
���� ��� ��������� ������ � �������� ��� !� ��� ��� �� ���!��� �������� ����� � � �� ��
�������� �� ��������� �� ���� �� ��� ����� ���� ��� �� �� ������ IK�''23J�
#�� ������ �B�� �� ��� �� 5�9%@�A �����F�� ��� ���������� !���� �� ���� ���� ��
���� ����� ����� ��� ��� ������� ����� ��������� �� � ��������� ��� �� � ����� )��
�������� �� �� ��� ��� ��� ����� �� � ����� ���� ����� ���� @+�����A ���� ��� ����� ��
�� � ����� � ���� ���� ����� ����� @������A�
�� '����# ������� ���� � ��������� F������ � ���� ����� ���� �� ��� �� ��� ���
��� ���� !������ ���%���� ����� ��� ��� ������� )�� ���� ��� ��� ��������� ����� �
��� ���� ����� ����� �� � ��# ������� ���� � ��������� F������ � ���� ����� ���� ��
��� ���������� ����� � ��� ����
)�� ��� � �� � ��# ������� �� ������� ��� ������� ����� ��������� �� � ���������
�� �������� �� ��� � ���� ���� ����� �������� �� ��� ��� �����!� @������K�EA ��
��� � ����� ��� @������K+EA� �� � ���� ���� �� ����� �������� ���������� !����� ��
� ����� ����� #��� �������� �� ����� �� ��� �� 5�9%@�A� $���� ������K+E � ���������
���� ���� � ���� �� �!� � �� ������ � ������ ��� ���� ����� ������� �� � �����!��
��� ������ ������K�E � ����� �� ������ � �� � �������� � ���� �������� �� ��� ����
����� �������� �� ��� ����������
����� �� ����� �� ���� �� ��� �� 5�9%@�A �� �������� ���� ����� ������� ��� ��������
��� ������������ =� �B���� ��� �� '������ 5�;�
&���� !������ ������� �� �%�� �� � � ��4���%$
��� �� 5�3 ���� �B������ ������� ��� ���� ����� ������+����� �� � ������������ ����
� � ��B������
� /�� ���!��
�?� ��&��$ /�� ���!��
'������ � �� �� � ������� ���� ����������� (8. I�'2<J ' ����������� I#"(�22J
�># IL#22J ���� ��22 I�K22J '�& IK�''23J ��� >>'� I��41J !���� ��
���� ��������� #���� ������� ��� '����# !��� �� !����� � ��������� ������ �� � � � ���
���� ����� ���� �� ����� ��� ��� ���� ���� �� ��� O �� � � ��� !����� ���%���� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 25
![Page 113: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/113.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
��� ����������
) � �� � ����� ������� � ������� ���� ����������� (8. ' ����������� �># ���
���� ��22 ��� ����� !��� �� �������� ��� ������ ���� ��� ���� ������ ����� ������ ��
���� ������� #�� ! /����� �� ����� ������� ��/��� �� ���� ���� �� ��� ����� ���������
���� ��� ���� ����� ����� �� � ����H ��� ����� �� ��� ��!� (8. �� � ����������� (8.
�� � ������� ��� ������ . /�� �� ' ����������� ��� 1 �� �># ��� ��� �������� F�
@� � � ������ � ��%�� � �����A �� ���� ��22�
SingleSpec Task
Future Main Memory (FMM)Architectural Main Memory (AMM)Eager Lazy Eager Lazy
Steffan00
Cintra00
Hydra
Prvulovic01
Superthreaded Multiscalar(SVC)
ZhangThesis
Zhang99
Garzaran01
Multiscalar (withhierarchical ARB)
MDT
Steffan97&00
DDSMMarcuello99
SingleVersion
MultipleVersions of Same
MultipleSpec Tasks
SUDS and similar
COARSE RECOVERY:
(MultiT)
(SingleT)SingleVersion
(MultiT&SV)
(MultiT&MV)
Figure 5.8. Mapping schemes for speculative parallelization in multiprocessors onto our taxonomy.
� ������� ���� '�& �� �+� !��� �� ��������� �������� ����� �� ��� ����� �����
��� ����� ���� �������� '����� ��/����� ��������� �������� �� ��� ���� �����!� ���
���� ������ �B��� �� ��/����� ������� #��� ��� ��� ������� !��� �� ���������� ���� �
��� ���� ��������� �������� ��� �����!�� ��� �B���� �� � ��� � ������� )�������
��� @�) A �� ��� �� F�� ��� ��� ��������� ������� ����� �� � ����� �� ��� ��? ������
( ��� ������ � �������� �� ���� �� !� ������� !��� ��� ��� �����������
����� �� >>'� ���� ����� �������� ��� ��� ���� �� ������� "������ ���� ��
����������� �� ���� ���� ��������� ��� �B�� ��� � ����� ���� �� ��� ���� ����� ��������
��� ���� ������ ��� ����������� !������ ����� ��� �+� ���� ��� �����
�?� ����$ /�� ���!��
=� ����� ���� ��� ���� ���������� ����$2�3 �������H "���� I"=)23J '���%
���29C44 I'&�29 '&*�44J &�����44 I&�#44J ��� ,�� ����41 I,K8#41J� "����
������ ���� ����� ����� �� ! /��� !������ 1 ��� 6 ���� ��� ������ ����� �� �� 1 ���
�����!� 6 ��� ��� ������� �� � ����� ������� � ��������� ��� ����� � ��� ���� �����
���� ����� � ������� ��� ��� ���� ���� �� ��� O �� � � �� !����� ���%���� �������
�0,��� �,�� ����� ��� �� ���� +� H-��� �� ���� �< �,� �%������� �� KH03:4L ���� �� �,� ,���@���
�� ������ + ��- �� ��- *�C��� �� �������< @,��, �.�� �,� �-��� ���"���
2< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 114: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/114.jpg)
Taxonomy of Approaches
#�� ������� ����� �� ������ ��������� �� � ��������� ��� ������� ����� ���� � ��%
�� ���� ����� ����� ��� ���� � ���� ���� ����� �������� �� ��� ���� �����!�� #���
��? ���� ����������� ����� ������ �� '��/��29C44 &�����44 ��� ,�� ����41� �� "����
��� ������������� �� ������ !��� �� ��� ����� �� ���� ���� ����� ���� ���� �� � ��/�����
! /��� ��� �B���� � ��������� ��� !� F��� � ! /�� ���� ��� ! /�� ���� �� F�� ����
��� ������ � ���� �� ��� � � ������ ���� ������� �� ���� ���� ��� ��� �������� �� ���
���� �����!� �� ������ �� ��/����� ! /����
�� '��/��29C44 &�����44 ��� ,�� ����41 �������� �� ����� �� ����G�� ���� ���
������ ���� ��� ����� ���� �>� �� '��/��29C44 � ����� �������� ��� �� 1� �� &��%
���44 ����� ���� ���� �� ��� >�����! ��� '����� ������ � ����������� �� �� ��%����
� ����������� ���� ����� ����� ���� ��� !� ��� ���� �B�� ���� �� ���� ��������� �� ���
�� ��� 1 ������ )�� ���� ��� ���� !������ ��� ���%���� ����� ���� �� ��� ���� ��� ���
���� ����� ����� !� ������ ���� ��� ���� ����� ����� �� 6 ������ .��� '��/��29C44
��� &�����44 �� � ������ ����� �� ����� �� ��� �� ���� � � �� ���� ����� ����� ����G����
�� ,�� ����41 �������� ��� ���� �� ������ ��� ����G�� ����� �� ��� ��� ������ ��
���� ���������� �� �!����� �� ���G���� �� �������� ���!��� ��� �������� ��� !� ���� �� 1
��� 6� 1 ����� ����� � �� ���� ������� @� ��� ���A ���� 6 ����� �� ���� ��� @� ���%
��� �������A� #��� �� �� ��������� ������ ������ ����� ��� ����� ��� @� ���%��� �������A
�� ����� !� ��? ���� !� ��� ��� ���������� 0B����� ��? ���� ��� ��? ��� ��� �� ���%���
��������� "������ ��� ��������� �� ������ �������� �� ������ 1 �� �� �B����� ��? ���
����� � ����� �������� ��? ��� �� � ���� ����� �� 1 ��� ��? ���� � 1 ������� 7��� ����
���� �������� ��� ��� ��� ���� �������� �� ��� � ��%��� ������ �� ���� ��� �������� ��
��� ���� �����!� @�� ����� ���A ����� ������ ����� �� ����� ����� �� ����G�� ����
�� ��� ��� ������ �� ���� ��������� �� �������� �� ! /�� ���� ����� �������� �� ���� ��
���G���� �������� ���!��� �� �� ���� ���� ��� ���� ����� �������� ���� �� !� ! /�����
#��� ����G�� ���� �� ������+�� ��� �������� �� � ������
)� ����� ������� "���� '��/��29C44 ��� &�����44 ������ ����� �������� ���� ���
�������� ���� ������ ������ ������� ������� ������� ��� �������� �� ���� ������ ��
"���� ��� &�����44 �� ������ ��� ��������� ��� ����� ����� �� '��/��29C44� ,�� ����41
�� �+�H ��������� �������� ������ �� ������ ��� ��� ������ ���� ���� ��� �������� ��
���� ������ ������� �� �B����� ��? ���� ��� �+� ������ ���� �� � ������� &��!�����
8������� @�&8A �� ��� ��������� �������� �� ���� �����
)�� �� ��� ������� �� '��/��44 I'&*�44J �� ����$2�3� ' �� � ������ �� ���
'��/��29C44 �B���� ���� ��� 1 �� ��� �������� �� ��� � ���� ���� ����� �������� ��
��� ���� �����!�� =��� � ���� �� �!� � �� ������ � ������ ��� ���� ����� �������
�� � �����!� �� ����� "������ ����� ��� ����������� ���� ���� ��� ��� �� ��� ����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 29
![Page 115: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/115.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
�������+����� ������� ���� ��� �� ���� ��� ���� �� �/��� ����� ����������� ��� ��� #���
������� ������ ������ �������� !� ������ ��� ��������� ��� ��������� �� ������ �����
� ,�� ���!��
�?� ��&��$ ,�� ���!��
#���� �� � ���� �� ������� �!��� '��� > ��� �� ��� �� 5�3� #���� ������� ���
� ����� �������� ��������� #�� �". ��� ��� ������� ��� ����� ���� �B����� !�����
��� ���� ����� �������� ' �� ����� �� ��� ����������� ���� ��� ����� ������� ���� ��� �
��� �������� �� ����� ������� �� � �������� ��� �� ��� ����� ������� �� ��� !�������� ��
��� ������ ���� ����� ��������
#���� ������� ������� �� �� �������� � ����� ��� ������ !����� ���� �������
#��� ��� �� �������� ������� #��� ��� � ����� '����# � � �� ����� ������ �������� ���
��� � �� ����� !��� �� �� �� ��� ���� ��������%������� �������� �� ��������� 0B�����
�� � �� ������� ��� I� (41 K723 8,25 8'44 *8#23J��
#�� ���� �� '$>' I� (41J ��� ��� � � � ���������������� )�� �� ���� �� ������
��� ��� ��� ��������� � ���������� �� ���� �� ��� ������ ������� ( ������ �������
������� �� ��� ������ ������� #�� ������ �������������� �� ���� �� � �%���� ���� ! �� �
�".� ������ ��� �". �� � �������� ����� ���� �� ����� ���� ������ ������� ��� ��
���� ���� ��� ���� ������� ����� ��� ��� �B������ !����� ���� ����� ��������
�?� ����$ ,�� ���!��
( ��� ������� �������� � �� �� *����22 I*8#22J *����#����� I*��22J ���
K��+����41 IK, �41J ��� �+�� #���� �+����� ����� ���� ������� �� ������ ���� �%
���� �������� ���� !���� �� ��� � � �� �����- ���� ��� ������ ���� ���� ������ ��� ��
���� ��� ���������
*����22 ��� *����#����� ���� ��� �". �� �������� ��� �� ��� ���� ���� ��
*����#����� � � ��%������� ���� ����� ������� �� �!� �� ����� � ��� �����������
! � ��� � �%��%����� 8(= ����� ��� ��� ���� �� ��� ��� ������ �� ���� ��������� ���
��� ������� ���� � �������� ��������� #��� ��� �������� �� �� ��%����� 8(= �����%
����� ��? ����� � ���%��� ������� �� �� �� � �%��%����� 8(= ���������� �� ������ ���
������ �� � ���� ������ ��� ��� !� ������� ���� ��� ���� ���� ������� �� �������� #���
������ ��� ��� � ����%!���� ����G�� ���� �� ��� ��� ������ �� ���� ���������� #��� ��
�B������ ���� ���� ����� �� (������B (�
�� *����22 ��� ��/����� ���� ����� �������� ��� ��������� #�� ������ �� ��� ���%
���� �� ������ �� ��� ���������� �� �������+����� ������ �������� �� ��� �B�� ��� ��%
��������� ��� ��� ����������� ����� � �������+����� ������ �������� � 7��%,������+�����
��,� @�. �� K����L ,�� � � ��C������� *�� ��� *� �,@� � +��� ��� �,�� �����
23 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 116: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/116.jpg)
Implementation Issues
������� �� ��������� �� ���� 7��%,������+����� ������� ��� ���� �����!� ��� ��� �������
�� ��� ������ �� ���� �� ���� ������ �� ����� �� ��� ��� ��������� ���� ����� �� ���
( ������ � ���� ����� �������� �� ���� �����!� �� ��� ������ ��� ���� �� � ��������%
������� �� ����� �� ����� �� ��� ���� ������ �� ��� �����!�� �� ���� ������ ��� ���
��� ��� �� ������ ��� ������ �� � ���� ����� �� ���� �� � ���������� ����������� #��� ���%
��� �� ���� ������ �� '$>'41 ���� ��� ���� ��/�������� ����� �� *����22 ���� �����
�� � ������� �� �������� ��� ��� ��� ��� ���� � ���� �������� �� ��� ���� �����!��
#� � *����22 ���� ��� ���� �� ���������+� ����� ���� ��������� �B�� ��� � ����� '�����
��� ������ �� *����22 �� � �����%!���� >�����! ��� '����� ������ ���� '$>' ���� ���
�� �������
�� K��+����41 ��� �". �� � ��� �� �������� �� ��� �� ��� ����� ��� ���� �� ������
�� !� �������� �� ������� #��� ������ �� !���� �� ��� ���� ����� ������� �������� ��
*����#������ #��� ������ �� � ������! ���� �� ���� ������ ��� �� !� ������!�� �� �����
�� ��� ��B� ��������
'�$ ��"����������� � ��
.����� �� �B����� ��� �����%�/� ���������� ���� ��� ��/����� �B�� ������!�� �� ���� ��
��� �� �������� � >�����! ��� �8). ��� �". ��� ��� ���� ��� �� ���� ������� #����
��� �� �� ������ ��� �� ������ ��� ����� ������� ���� ��� ��� �� ��� ��B������
&�)�� -%���%������ � '�����+���� !�,�
&������� � ������ �B���� ����� ����� ���� ������� � ��� ������� �� �����!� M �� �������
4B;44 ����� � F��� ������� �� ���� ������� �� ��� ��� �� 5�2%@�A ����� ��� ���� ��� 6 �����
���� � � �� ��� ���� ���������� . ����� � ������! ��� �8). ���� ����� �� ����� ! /��
����� �� ����� 0��� ���� ��������� ��� ������� ���� ��� ����� �� �� ��� ����� �� �����
! /��� � ���� ���� ����� ����� � ����� �� � ��������� ����� ��� ����� �������� ����
����� ���� �>� ��� ����� ���� � �� ��� ����� �� ����� ! /���� �������� �� ����� �� !�
������ ���� ��� ��������� �� ����� �� ���� ������ ���� ��� ���� ���� ���� ��� ����
�������� ��� �� 5�2%@!A ����� �� �B���� ����� ��� �8). �� ! �� �� ��� ����� �� ���
����������
�� ��� �B�� ���� �� � ���� �� ��� ��� ����������� �� � ���� ����� ������� ��� ����
��� �� ��� ����� ���� ������ �� (�� ������� �� �������� ��� �� ������� ��������� ��
������ #�� ����� ���� �� !� �!� �� ��� �� ���� ��� ���� ���� ��� ������� ��� �������
���� ����� �� !� �������� !������ ���%���� ������ '���� ����� ������ �� ����� ��������
� ���� ��� ����� ��� � �������� �� ������ ������� ��� � ����� ����� �� ���� ���� ����� ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 22
![Page 117: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/117.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
(b) MROB in a processor
2i
2 i
(a) Code
Task writes Value to Address
i + j 10 0x400 0x400
0x400
i + j 10
Task ID Tag Data
0x400
Cache
Figure 5.9. Implementing a distributed MROB.
���� ����� ! /��� ��� � ��� ���� ���� ����� ����� ����� ��� �� �� � ����� ����� ��
������� ���� ���� ���������� ����� ���� ��� !� � ����� � !���������
�� ����� �� ����� ���� ���� �� ���� �� ���� �� �������%��+�� ���� ����� ��� �����
��� ����� ����G�� ����� #�� ������ �� � �� �� ����G�� ���� �� ����� ������ �� ���
��? �������� �� ��� �������� ���� ����� �������� ( �����!� ������ �� ��� ��� ��������
!� ,�� ����41 I,K8#41J� �� ���� ���� ��� ����G�� ���� �� ������+�� ��� �������� ��
� ����� ! � ��� ��� ���� ���� ������ �� � ������� ������ #� � �� ��� !� ����������
�� � ��� �������%��+� ����� ����� �������� ��� ���� �� !� ������ ���� ����%�>�� #���
����G�� ���� �� ��� ��� �� ���� �� ����G�� �� ��� ���� ����� ����� �� ������
(� ���������� �� ���� �� ��� �� ��� ��� �� �� ���� ����� ����� �� ������ ��� �� �
��� �� ��� �����!���� �� ���� ���� �� �� ����� ���%��� ��������� #��� �� ���� �����
�� ������ =��� � ��������� ��������� � ��� ������� �� � �����!� ��� ����� ��� ����
�������� ��� ���� ������� �� �������� �� ������ �� � ��� �� �� �� � ��� �������� #��
�������� ���%��� �������� ��� !� �������� ���� ��� ����� !��� �� � �� �����%!���� ��
��� �/��� ��� �������� �� ��� ��������� �� ������ (� !����� ����� �������� �������� ���
!� ������+�� �� � ������ #��� ��� ��� !� ������+�� !� ��� ���� ������� ��������� �� ���
�> �� ��� ���� ���� ���� ��� ��� �������� ��� �� 5�14%@!A ����� �� �B���� ����� ���%���
�������� ��� �������� ���� ����� � L ��� � �B�� �� ��� ���� �� ��� �� 5�14%@�A� �� ���
�B���� �������� ��� ������ � �� ����� �� ������ ��� ��� ��� ���� ��� ,���
�����)9� 7��� ���� ���� �������� !� ����� ���� ��� ���� ��� ���� ����� ����� ����G��
���!�� ����� ��� �������� ��� ��� ���� �� ����� ��� �� ��� �� ����� ��� �������� �����
�� !� �������� ��� ��������� ��� �� ���� #��� �� ��� �������� ��� �� IK, �46J
&�)�� -%���%������ � '�����+���� !��
( ������! ��� �". ��� � ����� ���� �� ������ #��� �G. ����� ���� �P� ������� �� M ��
��� �". ��� ����� ��� ��� ������� �� M ����!� �� ��� ���� �� ��� ������ ������� #���
���� �G- �����!� � ����� �� ������� ��������� ����� �G./� ������� �� ��� ��� �".
��� ����� ��� ��� ������� ����!� �� ��� ������ ������� $����� ����� ���� ��������
144 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 118: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/118.jpg)
Implementation Issues
k k
j
Task writes Value to Address
i12 0x4001416
i i
0x8000x600
160x800
0x600
0x400
(a) Code (b) MROB
last versions Cache with
14
Task ID Tag Data
12
k
j
k 0x8000x400
0x600
Structure in memory or in cachewith non−last versions
2
6 0x6004 0x400 Task−ID
0x800
2
4
6
Producer
i
Tag Data
Figure 5.10. Data structure organization where non-last versions are remapped. Speculative tasks
�, L, and � execute the events in (a) while running on the same processor and using a reorder buffer
approach (b) where cache keeps the last versions, and the non-last versions are remapped in a data
structure in cache or memory. When task � commits, the versions it produced will be sent to main
memory and the data structure space released.
��? ���� � �� ���� �������� !������ ����������� � ��������� ����� � ���� � �� ����
��� ��������� �����������P� ������� ���� ������ ����!�� ���� ������ ���� �� ��� �!�����
�� �� � ����������� �� �� ��� �B�����
#� �������� ���� ���!�� ��� �". �� ���� �� ���� ��/������� '����F��� ����
� ���� �� �!� � �� �������� � ��� ������� ��� ���� ����� �� ��� �". ��� ���� ������
������� �� ��� �����!� ��������� !� � ������ � �� �� ����� =��� ���� �������� ���� �����
��� �� �� � ����������� �� �� ��� �B���� ���������� �� ��� ���� ������ ����� � �
���� ������ ��� ��� ������! ��� �". ����� �� ������ )� �� ��� �� � �����������
��? ��� ���� �������� !������ �����������
#�� ��� ���� �". �� � ���� �� ����� �� ��� �� 5�11%@!A ���� ����� �B�� �� ��� ����
���� ���� !����� @��� �� 5�11%@�AA� #�� �". ����� �� � ��� �� �� �� ������ �� �� ���
������ ( �����? ���� �� ���� �". ������������� �� ���� ��� �". ����� ������� !� �
���� ���� ��� ����� ��� ���� ������ ������� ���� ��!�� �������� ���� ����� #� � ����
�". ����� � �� !� ������ ���� ��� �> �� ��� ���� ���� ��������� ��� ������� @���� �> �
�� ��� F� ��A� #� ��� ��� �������� ��� ������� �B����� (�� �� ���� ��� ���� �����
����� � ��� �G@ � ����� �� ��/����� ���������� ���� ���� � ���� ���� ����� �". ���
��/����� ��������� �������� �� ��� ���� �����!�� '���� ���� ���� � ���� �� �� ��������
��� ������� � ���� !� �G@ ��� !� �� ���� �� ���� ���� ��� ��� � ���� !� �� #� � ��
���� �� ��� �������� ���� ���� �> �� ����� �� �������� � ���� ����� �� � ��� �������� ��
� �����!� �� ��� ������! ��� ! /���� #��� ����������� �� !� ������ �� ���� � ����������
��� �� ��� �������� �� ����������
$����� ����� � �� ���%����� ������� �� ������ ���� �� '����# �������� #��� �� ����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 141
![Page 119: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/119.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
k
i
Task ID Tag Data
k
j writing
TagTask IDTask ID
Over−
DataProducer
last versions Cache with
0x600
0x400
(b) MHB
k
with non−last versionsStructure in memory or in cache
(a) Code
4
12
14
160x800
0x600
0x800 6
i0x6000x800
i i
j
kk
i
16
0x6004 0x4002
6
140x400120x800
Task writes Value to Address 2 0x400j i
Figure 5.11. Distributed MHB when tasks �, L, and � execute in the same node.
�� ��� �8). ����� '����# ������� ��� ���� � ����� ���%��������� ���� �>� #��������
'����# ��� ������� ���� ����� �� � �� �������� �� � ��# ��� ������� ����� �
��� �����P� ����������� ���������� @�� �� �� ��� �� '������ 5�9A� ( ������ ��� ����
��� !� ���� ��� � ��#C'� ��� ������� �� � ��#C�� ���� ��� ���� ������ ��
���� ���� ��� ������ ���� �� ��� �� 5�9%@�A �� ������������ @�B���� ��� ������ ��������A�
����� ���� ���� �� ��� �". �������� ��� ��� ��� ��� ���� ��� ��� ?�������
����%�> @����%�> � ��� � �� ��� �B����A� (� �� � �������� ". ���� ��� �����������
���� ������� ��� ����������� �������� !����� �!����� ��� ��� !� ���������� #� �
��� ���� �������� � ��� �������� ���� � ���� ��������� �� ���� ��� !��� �� ���� �
��� !� ��������� �� ��� ���� ���� ���� ��� ���� ��� ���������� 7��� ���� ���� �".
������������� �� ���� ������ �� ��� ������ � �8). ��� ����� ���%��� �������� ���
��������� #�� ��/������ ����� ���� ��� ��/����� ������+����� �� ��� �������� ���������
(������ ������������� ��� � ���� ������� �� ��� ������� ����� ���� ��� ���� ����
�������� �� � ����� �����!� ��� !� �������� ���� ��/����� ������ �� ���� ������ � � ��
����%�> ������ ���� ������ ����� ����� ��� ���� �������� � � �� ����� �����!�� (� �
��� � �� � �� ��O��� �����%!���� �� ���� �������� ���� ��� �� ��������� �� ���� ��������
�� �����!�� ������ ������� �� ���� ������� #� �� �� ��� ������� ��������� � ����%�>
��� ���� ���� �����!� ���� ���� ����� ������� �� ���� ������� #��� ��� ������F�� ���
������� � ������ �� ������� �� �������� ���� ������ ����� � ����� �� ������� ���
����%�>� �� �������� ��� �B������ ���������
����� ������� �� ��� �� �����B��� �� ��� ������� ������� �� ���� ����� ����� ���
����G�� ������� (� �� ���� O �� �B������ �� �� ��� ������ ��� ������� ��� !� �������
�� ���� ������ ����� ����� �� ���! ��� �� ����� ������� ���� "������ ���� �����
������� ���� ��� �� �� �? ����� ���� � �%��%����� 8(= ����������� � �� ����� ����
� ���� ����� �������� �� � �����!� @��� ��� ���%��� ����A ��� ��� ��������� ��������
#���� �������� ��� !� ������ �� �� ��%����� 8(= ���������� �� � ��� ��� �������
146 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 120: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/120.jpg)
Implementation Issues
�������� �� �������� ��� ��������� ������� �� � �����!� �� !� ������ �� �� � �%��%�����
8(= �� ������ ��� ������ �� � ���� ������ L������ � ���� ����� �� � ��� ������ �����
��������� � ����� �� ��� ��� ������ ������!��� ' ����� ���� � ���� ����� �� ����� ���
���� ����� ������� � ��� ��� ���� ������ ������ ��� � �� ���� ������� L� '���� �������
L �� �� ���� ���� ������� � ��� ���� ������ �� ��O��� ������� �� "������ !� ����� ��
�� ��� ���� ��� ���� ����� ������� �� #�� ��������� ��� ������� �� ��� ����� ������� �
��� ��� ����������� @�� �� � ��� �������A �� ��� ��� ���� � ���� �� ��� �".� #�� ����
������ ���� ��� ���� �� !��� �� �� �� ��� ��� �� ����� �������� 7�B� �� �B���� ���
��/����� �� ������
)�� �� ���� �� ���� ���!�� ��� �������� �� *����#����� I*��22J ��� �������� �� �
����%!���� ��J�� �� ����� �������� �� ��� ����� ��� G�� ����� $���� ���� ������
��� F��� ���� � ���� �������� � ��� �� � ����� ���� ��� !��� ���� ������ ����F�� � ����
�� ����� �� ��� ��� ������ ���� ��� ��� �������� ��� �� ����� �� ��� #��� ����G��
���� �� ������� ��� �� �� ���� ��� ����� ��� �� � ������ ���� ��� !��� �������� ��
����� ����� ���� � ��� ������ )�� ��� ����� ���� ���� �� !� ���� �� ��� ����G�� �����
#��� ��������� � �������� ���� �� ��� ����� �!� �� ������ ��� ������ �� � ���� �����
��� � ��� ���� ����� ��� ��� ��������� �������� ��� ����� #��� �� ���� ��? ���� ��
��������� ���%���� (������ ������� ��� � ���� �� �������� ������ �� ��� ��� ��
,���� I0 ,'23J =������ I"L22J ��� ':��, I7(.�25J� '�� (������B ( ��� � ����
������� �B���������
(� ���������� �������� �� ��� ����G�� ���� �� � !� �� ! �� ��� �". �� ��� ����
������� =��� ���� �������� ��� ������ �� ���� ��� �� ����� �������� ������� ��
!������ #�� �". �� ���� ���� �������� ��������� #�� �". ��� ���� ��� ��� ������
������� � � � ��� �������� ���� ����� �������� ���� ��� ���� ���� ��� ��� �� �������
"������ �� ������� ��� ��������� ���� ���������� ���!�!� � � �� ��� ���� ���� ��
��� ��? ����
&�)�� ,��������� �� ������� �� � '�����+���� !�,� ��� !��
( ! /����� ������� � �� � ����� F�� ��������� ���������� ����� ( ��� �� ?��
E����� ( ��� �� <���;��� E����� E���� '����� E���� > ��� ��� ?�����
E���� *�����������
( ��� �� �� E����� �� �� '��� ���� ��� �����F�� ���� ��� ����� �� ! /���
����������� � �� �������� �� ����H ����� ���� �> ��� � ����� ��� �> �� ��� ��? ������
'���� � �� �������� ��� ���? ��� ���� ��� � !� �����F�� �������� 7��� ���� ����� ���
�������� ��� ����� ��� ��� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 14:
![Page 121: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/121.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
( ��� �� E����� ,��� � �� � ���� ,����� �� �� '��� ?� ��� ��� �����%
������ !� ��� ������ #��� ���� �� ����� � ��������� �� ������ ��� �� �� ���� ��� ����� ��
��� ������� �������� #��� ������� ��� !� �� �� �� ��� ����� �� ! /�� ����G�� ���� �".
�� �8).� ����������� � �� ������� ������� ��� ������ ���%������ ����������� ��������
������ ���� �> ����� �� ���� ����� � ��������� ��� ���� �B�� ��� ����� �������� �� 8(=
����������� ����� ��� ����� � ��� ���� ���? ����
E���� ����� �� ��� ������� �� ��� ������� ���� ��� ��������� �� ����� �� ��� ���%
����� �������� ������ ���� ��� ���� ���� ��������� ���� �������� &��������� ���
������ �B����� ���� �������� �� ����� ������ ��� �� ����� (�� �������� '���� �������
������ �� � ���? ��� ��������� �� ��� � !� ������� � ��������
E���� ��� �� ������ �� ������ ��� ������ ������ !��� �� � ������� ����� ����� �
���������� ���������� @�� � �%�� ����� 8(=A� 8������� ��� ������ ���������� ��������
���� ��� �8). �� ������� !��� �������� ���� ��� �".� "���� � �������� �� ��� ����
���? ����
?����� ����� ���������� ������� �B� ����� ���� ��� ������ ��������� ��������
���� ���� !����� ������ #��� ��� ����� !��� �� ����� ������ �B��� �� ��� ������
�� !��� �� � ��/����� �� ���� ������� ��� ��� ���������� �� �� ����� � ����%�������
��������� ��� ��� � �� !� ���� �+�� �� �� ��� !������ ���
'�' �����4 ����( �
=� ����+� ��� ������ �� ��� ����� ������� �� ������� �� ��� �� 5�9%@�A �� ��� �������
� !��������H (�������� �� �� � � �� ���� ������ '����� '���� �� � ���� '��� �����
#���� C �������� ��� ,�������� ��� 0���� �� �+� ������� ���� ���� ������ '�����
&�&�� (�� ��������� �� /����� !��� !�%��$
#�� ������/ �� ���� ��� ������� ������ ������� ������ !����� ���� (�� �������
���� ������� �������� ������� �������� ��� ������� ���� � ������ ������������� �����
3����� ��!!� �� ��'��"
�� ��� ������� E���� ����� ���� ��� ��? ��� ��� ������ ���������� =��� � ����
��������� � ��� ������� ��� ���� ������� �� ����� �� ��� �". ��� ��� ��� ��� ����� ���
����� #�� ��� ������� ��� !� ������� !��� �� ���� ������ ������ ������ �� �+��� #��
���� �������� ��� ���� !��� �������� �� ��� �". ��� ��������� ���� ������ ���������
������� �� ������ ���� ���� ��� ���� ������� ��� ������� ����� ��������
14; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 122: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/122.jpg)
Tradeoff Analysis
&������� ��� �� (�� ������� �������� � �� !� ���� ! /���� �� ��� �8). ��� ���
���� ���� ���� ��� ���� !������ ���%���� ����� �� ������� ����������� ��� ��������� ��
����� �� ���� ������� �������� ������ ����� ��� ���� ���� ��������� ���� ��������
������� ������ ��? ���� �� ��������� ������ �� ���� ��� �� ��� �������� ��������� !� ���
����� #��� ������ ����� ���� �� ���� ������ ���� �� ����� �������� �� �� ��� !� ������
�� �+� ��������� '���� ����� ������ �� ���� ���������� �������� �� ����� ��� � ��� !�
����� "������ ���������� �������� �� �� ����G�� ���� �� ��� ��� ������ ��� !� ������
����� �� ���� �� F�� ��� ������� ��� ���� ������ ���
)� ��� ����� ���� E���� > ��� �� ���� ��� �� ���� (��� 8������� ����
(�� ����� ������� ���������� ���� ��� ������! ��� �8). ��� ���� ����� ��������
��������� !� ��� �/������ ���� ��� � ��������� �� �������� �������� ���� ��� ��%
����� ������� � ��� �������� ����%������� !� ��� �/������ ���� ��� � �������� ���� ���
������! ��� �". �� ���� ������� > ���� ���� �������� ������ �� ��/����� �������� ��
��� ���� �����!� ��� !� ���� �� ��� ����� #�� ���� � �� !� �������� ��� ������
��� ������� ���� ��� ������ ����%�> ����� �� ����� ���� ��� �> �� ��� &����� ,�����
#��� ������� ��� ��� ��? ��� �������� ������ �� ��� ����G�� ����� ����� �������� ���
������� �������� ��� ��� !� ����� 7��� ���� !������� ��� ������! ��� ������ ������ ��
� � ����������� �� � ���������� ����� �� ������ ���� ��� !��� �� ���� ������ ���
���� � �� �� ���%��������� �� ������
������� ������ ��� ������� �������� ��� ��� ��� ���������� ���� ��� ����������� ���%
������ �� (�� ��� ��� �������� 7�B� �� �� ���� �� �!� � ��� ����� �����������
=������� '����� ��!� ���
�� �� �? �� ����� �� (�� �� ��� �������� �� (�� ������� ��� ������� �� ���
�8). ��� ��������� ���� ��� ������������� ���� ������� ��� ��� �������� ��� ������
���� ������� �� ��� ������� ��� ������� �� ��� �". !����� �!����� ���� ��� ����
���� ���� ��� ���� @��� ����������� ����A �������� K�� ���� � ����� ������� ��������
���� �� �������� � �� ���� �� � ����� #���� ������� ��� !� ����� ������ ����������
�� �+�� �� ��� �� ���������
/����� �� ��� 3������ �� ��� ������� $ �.
�� �� ������ �� !��� ������ �� ��� ���� �� (�� ������� ��� ����� ��� ���� � ����
�������� �� ��� ���� �����!� ������ ���� � ��/����� ����%�>- ���� �� ��� ��� �������
��� ����� ��� ��� ��� ��� �������� �� ��� ���� ���� � ��? ��� ���� ��� ��������� ���
�> �� ��� ��? ����� ���� ��� ��� ����%�> �� ����� ���� �� ������
/����� �� 3������ ������� �" $ �. ���'��� �� ��� ������� =��
#��� ���� �� ������ �� ��? ���� �� �� ��%����� 8(= ����������� �� (�� ������� �
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 145
![Page 123: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/123.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
��� ���� ����� �������� @��� ��� ���%��� ����A ��� ���� �� ��� �8). ��� �� ��� �� !�
��������� �� ��� �8). �� ��� ! �� �� ��� ����� ���� ������ �� �������� ����� "������
�� ��� �8). �� ��� �� ��� ����G�� ���� �� ��� ��� ������ ��� ������ �� !� ������
'���� ��� ��? ��� ���� ��� �� �����F� ������� � �����%������+�� ����G�� ���� �� �����
� ���� ������� �� � ��� ������ ��� �������� ��� �� ��� ����� ��� ����G�� ����� ����
��� ���%��� �������� ��� �� ��� �". ����� ��� �� !� ��������� �� ���� �� ��� �". ���
��� ������+�� !� ������� ������ �� � ������ �� ������� ��? ���� � ����� �������� ��� ���
!� ���� ���� ����� �� �������� ���%��� �������� ��� ����� ���������
����� ���� ���� '������ 5�;�1 ���� �� ������� �� �������� �� ! �� � �8). �����
���%��� �������� �� ��� ����� ��� �������� �� � ��/����� ������� ��� �� ��� �".� ��
���%��� �������� ��� �������� ��� ����� ��� ����� �� ���� ��� �������� ����� ���
��� ��� ���� ���� �� !� ��? ����� !� ��� ��� ���������� �� �������� �������� ���%
��� �������� ���� ����� ��� ���� �� ��������� ����� ��� �/������ �������� �� ��� �����
��������� ����� ��� �������� ��� ��� ������ =��� ���� ��������� �� ������� �� � !�
�B������� �� ���������� �� �������� �� ��� ��� !� ���� ���B�������� �� ��������� #��
������������� �� ���� �������� �� ���� �� �� ��%����� 8(= ������ ��� ���� ��� �� ��
����� ���%��� �������� ��� �������� ��� ���� �� !� ��������� (� ������� ������ (��
������� ��� ���� �� ������ ���� ���� ��� �� ���
�!���!��� ��� ��!���0�"
��� ������� ��� ���� �����B ���� (�� �������� )�� �� ��� �� �����B��� ��
��� ������� ����� ���� ��� ���� �� ������� ���� ������ ���� ��� ����%�> �� ���
� � �� ����%�> ����� ������������
' �� � ����� �� ���� ������ �� ���������� �� (�� ������� !��� �� ������� �������
���� ���� ������ ����� ��� ����� !� ������ �� ��� � �� ���� ������ ������ �� �����
������� @'������ 5�:�6A �������� ��� ������� ���!���� ���� ���� ������ ����� �� �����
�� ���� ������� �� �+� ������� � ������ �� �������� �� I,K8#41J ��� !� ��� �� �����
!��� �������� �� ������
(������ �� ��� �� �����B��� ���� ��� ������� ����� ���� ��� ��� ���� �� ! ��%
��� � ������! ��� �".� )�� �� ���� �� ���� ���!�� ���� ����� ���� �� ��? ���� ��
����G�� ���� �� ��� ��� ������ �� ��� ��������� ����� �������� �������� ��� !� ������
(� ���������� �� ���� �� �� ! �� ��� �". �� ��� ���� ������ ����� #�� ���� ����%
!��� �� ���� ���������� �� ���� ��� ���� ��� �������� �����F������ 7� �� ���� ��� !���
�������� �� ��� ��� ��� ������� ���� ������ �������� �� ���� ��� ���� ����� ������ #��
�� �� �� � �� �� ����� ���� �� � ���!�!� ��? ��� ���� ���� ��� �? ����� ��� � � ��
��� ����� �� ���� ������� )� ��� ����� ���� (�� ������� ��� ���� �� ����G�� ���� ��
������� ����� ���� ������ �� ���� ����� ����� ����G�� ��� ��� �� (�� ������� ����� �
14< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 124: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/124.jpg)
Tradeoff Analysis
�� ����G�� ���� ����� ���� �� ��� ��� ��� ���� ���� ���� ��� ��� ������� ���� �����
�� !� �������� ��������
#���� ��� ����� �����B����� �� ��� ��� (�� �������� �� ��� ������� ���� �
��� ������� �� ������� ��� �� ��� ��� �� !� ������ �� ��� �".� �� ������ ���� ������
�������� ��� ������� �� � !� �������� ��%�������� ������� ��� !� ���� �������� ��
�������� @��B� &������A� �� (�� ������� � ����� ��� ������� ������ �������� ���� ���
���� ������� ���� #� � �� F�� ��� ������� ������� �� ��? ��� ���� ����� �����������
���� ��� �������� ����� ��� ����� �� ���� �������� ��� ����� ������������
&�&�� ������ �� !������� ����������� ���#� 5 2������� ��� ��������
#�� ������/ �� ������ ����������� ��� ������ ������������� ���� �� �� �� ���� �����%
���� @'����#A �� � ����%���� @� ��#A ������� ��� ������ ��� ����� ���� �����%
������� @� ��#C'�A �� � ����%������� � ����� @� ��#C��A� � ��# ������� ���
������� ������ �� ��� �������� �� ���� ��� ��!������ #�� �B������� �� � ��#C'�
����� ��� ���� ����������� ���� ��� ��!����� �� �����%�������+����� �������� ���
���������
$ �. (� � �!� � �� �� �����"���' �� ��� � ������
'����# ������� ������� ����� �� ����� ���� ��� ��!������ �� ���� ���� � ��������� ����
��� �������� � ����� ���� ����� ���� ��� ���� �� ���� ��� ��� ��������� �� � ��� ���%
���� ����� ���� � ����� ��������� )�� ���� ��� ����� ���� !������ ���%���� �����
��� ������� ������� ��� ��� ��������� ����� � ��� ����� ��� �B���� �������� ���%
�� 5�16%@�A ����� �� ��� �� ��������� ���� �B�� ���� ��� ������ ������������ #�� F� ��
����������� �� �� ����� (�� ������� �� ��� F� �� ��������� . �������� ���� �. ���
������ =��� �� �������� ��� ������ ����� �� ������� �. ��� ��� ����� �7� ' �����+���
�� '����# ������� ������� ������ ����� �� !� ���� !����� � ��� ���� ��� ����� �� �B�%
� ��� #��� ������ ���� ������� ������ ������ ���� ���� �� ��� !������ �� ���� �������
���� �� �B�� �����
� ��# ������� ��� !����� ������� ��� ��!����� !��� �� ���������� ���� ������� �
���� ����� ���� ��� ���������� ����� � ��� ���� "������ � ��#C'� ������� ��� � �
���� �� ����� ���� ��� ��!����� ��� ������ � ���� �������� ��� �����!�� #�� �����
��� �� ��� �B���� ���� �����%�������+����� �������� @'������ 5�6�6A�
$���� � �� ���� �������� � ��������� �B�� ���� � ������ ���� ����� ���� ���� ����
��� ���� �� �!� � �� ������ � ������ �� �� ���� ����� ������� �� � �����!�� #�� ���������
������� ����� ��� ��� F��� ���� !������ ���%���� ����� ��� �� � ��� � ��� F���
������� �� ��� �����!� ��� ����� ���� ������� ��� �B���� �� ��� �� 5�16%@!A ���������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 149
![Page 125: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/125.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
T2
T0
0 1
T1
T2
x =
x =
c0
c1T3
(b)
T0 T1
T2
0 1
x =
x =
c0
c1T3
(c)
T0 T1
0 1Time
c1T2
T3
(a)
c0
Proc#
Figure 5.12. Example of four tasks executing under SingleT (a), MultiT&SV (b), and MultiT&MV (c).
. ��������� � ������� �� M �� ���� �.� #��� �� �B�� ��� ���� �- ��� ���� ���� ������
�� �������� � ��� ������� �� M� =��� ��������� . �������� ��� ������ ����� ��� �. ���
F��� ������� �� M ��� !� �������� ���� ��� ����� ��� �- ��� �������� 7����� ���� �� ���
�B���� ������� ������ ������� �� ��� !������ �� ����� ������ ��� �������� �� ����
� ���� �������� ���� ��/����� ������ #� � �� ���� �� � ���� �������� ��� ������ �����
� ��� ���� ��� ����� �� �B�� �� �� ���� ����������
( ����� ���� ��� ��������� ���� � ��#C�� ������� @��� �� 5�16%@�AA�
�!���!��� ��� ��!���0�"
�� '����# ������� ��� ������� ����� ��������� �� � ��������� �� ������ ������ �����
�� ��� ��� ��� ����� ���� � ����� ���� ����� ���� ����� �� �� ���� �� ��� ���� ��� ��
�����!� ���� � ���� �>� �� �� ��� �� ��� ��� ��������� �� ���� ���� ���� �� �� �B�� �����
�� � ��# ������� ��� ������� ����� ��������� �� � ��������� �� ���� �B������� ��
! �� ��� �� �������� ��? ���� ��������� ����������� �� ������� ������ �� ��� ���
�������� ���� ��� � ���� ���� ����� ����� ���� ��� ��������� �� @�� ��� !���A �B�� �����
(� � ��� � ���� ��� �� �����!� �� ������ ���� � ���� �>� � ��������� ���� � ����� ��
�������� ��� ������� ��� ��� ���� �> �� ��� ������ ����� ��� �������� �� ��� ��? �����
������� ��� ��� �> �� ��� ��? ����� ���� ������������ (� ������ ���� ��� ��� ���������
���� ��� �� !��� ����������� � ������ �� �� ������ ���� � ������ ��������� ��� ������
������� �� ������� ��� ������ �� � ��#C'� �� � ��#C���
�� � � ��#C'� ������ ��� ����� ��������� ��� ��� ���� � ����� ������� �� � �����
�����!�� #�������� �� �B����� ������ �� � ����� ��� ������� �� ���� ��� ������� ������
�� ���� ���� ��� ������� �� � �� ��� �>� ��� �� ��� �B����� ������ �� � � �� ������ �� ��
�� � �? ��� ��� !� ��? ����� )�������� ��� ���� ��� !� ����� ��� �����
�� � � ��#C�� ������ ��� ����� ��������� �� � ��������� ��� ���� � ���� ��������
�� ��� ���� �����!�� #��� ���������� !��� ��� ������ ��� ��� ���������� �� �B�����
143 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 126: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/126.jpg)
Tradeoff Analysis
��������� '����F��� � ����� � �� � ����� � ���� ������� ���� ��� ���� ������� ���
��� ��/����� ���� �>� '��� �������� ������� � � � �� ������� �� ��/����� ���� �� ���
���� ��� I&�#44 '&�29J� �� ���� ���� �� ������ �� ��� ����� ��������� � ��� ���� ��
� ���� &������� ��� ���� �� �� �B����� ����� #�� ����� �������� ��� �� �������� �����
�� ��� �������� ������� ��� ��� ������� ���� �> ���� �� ��� ���� ���� ��� ��? �����P�
���� �>� #��� ��� �� ��� ������� ������� �� ��� ��� #��� ��������� ��� ��? ��� ����
����� ����������� ���� ��� �������� ����� ��� ������ (���������� �� ��� ���� ����
�������� ��� ����� ������������
&�&�� .���� �� ��$ !������ ��� !��� !�%��$ �����
#�� ������/ �� ��� ������ ����������� ��� ������������� �����B��� �� �+� ��������
0���� ������� ��� ����� !��� �� ���� ��� ���� ��� ������ �� ��� �B�� ���� ����������
��!!� �� 50����� - '�������
,������ �B�� ���� ���� ���� ����� ������+����� ������� ��� ���� ����� ������� ��
��� ����������H ��� ��� ���� �B�� ���� ��� ��� ��� ���� ������� ��� �� 5�1: ����� ���
���������� ��� � �+� ������� #�� * ����� =������ �������� �� ���������� �B�� ��
����� �� ����� @��A- ��� '����� =������ �������� �� ����� ������ �� ������ ��? ����
@��A !� ������� ��� ������ ������ �� � �+� ������ �� ��� ��� �� ��� ���� ����� ���%
���� � ��� �������� ��������� �� ��� ������ ��� ������� !��� ��� ������ ���� ����
������ I,K8#41J� #��� �� ����� ���� !���� ���� �� ��� F� ���
Time
c1
c4c5
T1 T2
T3
T5
Proc#
c3
T0
c2c0
T4
0 1 2
Figure 5.13. Progress of the execution and commit wavefronts for a lazy AMM/FMM system.
0���� ������� ������ ����� �������� � ���� �B�� ����� #��� ��������� ��� ��!�
�����%!��� �� ��� ��� �� �B�� ����� "������ �� ���� ���� ��� �� ��� ��� ����������H ���
������ ��������� �� (�� ������� ��� ��� �B�� ���� ��� �� ��� �������� #�� ��� �
��� !� � ����� ��������
&������� (�� ������� F���� 0���� ������� ��? ��� �B����� ���� �����%
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 142
![Page 127: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/127.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
!���� I&�#44J �� ��������� ��������� I'&*�44J !����� ��� ������ ����� ��� !� ������
���� ��� ���%���� ����� ���� �� ��� � �������� #���� ���������� ��� ���� ��� ������
���������� �� ��� ������ ��������� ������� �� ��� ������� ���� �� ������� �B�� ���� ���
������� �� !� ����!� �� ��� ������� !������� � ����!���� !�������� I,K8#41J�
(b)
T0 T1 T2
T4T5
Lazy AMM
c2
0 1 2
c0c1
Proc#Time
T3
c0
2
T0 T1 T2
Eager AMM
(a)
1
c1
c2
c3
c4
c5
0 0 1 2
T0
Eager AMM
(c)
T5
T1T2
c0
c1c2
T4
20 1
T4T3
c0c1
T2
Eager FMM
(d)
c2
c3c4
T0T1
T5
c5
Figure 5.14. Progress of the execution and commit wavefronts in different schemes: eager AMM (a),
lazy AMM with stalls (b), eager AMM with stalls (c), and eager FMM (d).
#���� ��� ��� ����� ���� ��� ������ ��������� �� �� ��� ������� ����� �� ��� ����
�� ������� �� ��� ��� �� ��� ���� ����� ������� @��� �� 5�1:A� #� ��������� ���� ����
�� ������ �� ��� ���� '����� >���� �� ��� ����� !������ ��� ������� � ������ �� � ����
������ ��� � ���� �B�� ����� ��� � ����� ������� ���� ����� �� � ������� ��������������
���� ���� ��� ��� � �� ����� ��� ������� ��������� ��� �B�� ���� ���� #�� ������
��������� ������� �� ��� ��� �� ��� ���� ����� ������� �� ��� ���� ������ ����� �� ���
������� ����� ��� � �!�� �� ���������� �� ������ ���� 1�
#�� ������ ���� ���� ��� ������ ��������� �� �� ��� ������� ���� ��� ������ ����
����� �� ��� ��!����� �� � ��#C'� �� '����# �������� �� ����� ������� � ���������
��� ���� �� ��� ��� �� �������� ������ ����� � � �� ����� ����� ������� �� ����� ����
����������� ��� �� 5�1;%@!A ����� ��� �B���� ��� � �+� (�� ������� &���� �� ���
������ �� ����� �� ����� �� ��� �� 5�1;%@�A ��� ������ ��������� �/���� ��� ������� ����
���� �����
7�� �������� �� ����� ��� ������� ��� �� 5�1;%@�A ����� � �� � ������ ����� ��
��� ��� �? ������ �� ��� (�� ������ �� ��� �� 5�1:� �� � �� � ������ � ���� ������
����� ���� ����� ������� ���� �� ��������� ���� ��� �������� ����� �� ���� ������ �� ����
�� �� ������� ��� (���� ���� ��� !� ���� ���� �� ���� �����%!���� @�/������� �������� �
�����%���� �� �����A �� ��������� ���������� 7��� ���� � ���� ������ ������� ���
� ��� ������������ �������� &����? ���� ��� ��� ���� �B��� �����%!��� �� ���������
������������ @����� �� ������ �� ��� �� 5�1;%@�AA ��� ���� ��� ��������� �� ��� �����
(� � ��� � ��� �������� �� ��� �B�� ���� ��������� ���� �����
114 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 128: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/128.jpg)
Tradeoff Analysis
����� ���� ���� �� � ����� �B���� ����� ������� ��� ��� ���� ��� �B�� ����
��������� �� (�� ������� ��� ��� ������ ��������� �� ��� �������� #�� ������
�� ���� ���� ��� �� ������ ���� ���� �+� �������� '����F��� �+� ������� ������+�
���� !� �B������� ������� �!���������� #��� �+�� ���� ��������� �������� �� �������
N� ���� ����� ��� ����� �� ������ �� ���� ��������� �������� �� ����� �����!��� ��
���� ���� �� ��� �� �������� ���� ��� ��� !��� �������� ���� ��� ������ ���� ���� !�����
�!������ #��� �� ��� ���� �� !� ������ ���� ��� ���� ������ ����� ��� ��� ����� !�
������ ��������� ����� � �������� �����
�!���!��� ��� ��!���0�"
#�� �/���� ���� �+� ������� ���� �����B� #�� F��� ��� �� ��� ���� �� ��� �� ����
�������� �� ��� ���� �����!� ��� ������ ���� ��� ���� ������ ����� �� ���� ������ ��� ��
�� �� �� �� � ��� � �� ������� ���� ��%����� ������� �� � ������� !� ������ ����� ��� ��
����� (�� �������� �+� ������� ��� ���� ����� ��� ������� ���� ������ � ������
'����F��� �+� ��� ����� ��� ������� ��������� � ����%�> ��� ���� ���� �����!� ����
���� ����� �� ���� ������ ��� �� � ���������� �� ������� �������� ���� ��������
@'������ 5�5�1A�
�+� (�� ������� ��� �� ��� ���� � ����� �� � ������ ��� ���%������ � ������ ���
�B���� ,�� ����41 I,K8#41J ��� � ������� ���� '�& IK�''23J �B���� ��� �����%
!��� ����������� �� � ��������� ������� ���� ��� ����������� �� � ������ � ���������
'���� ,�� ����41 ��� � ��%���� ����� ���� ��� ����������� ��� ������ ���������
�������� ���� ��� ����� ����� �� ��� ����
#�� ������ �� ��� �� �����B��� �� �+� ������� �� ���� �� ��� ���� �� ������ ��
����� �� F�� ��� ����� ��������� �� @�� (��A �� ��� ����� � � �� @�� ���A �������
�� � �����!�� ��� �B���� ������ ��/����� ��������� �������� �� ��� ���� �����!�
��� ��%�B���� #� F�� ��� ����� ������� � ������� ���� '�& ��� ��� �) �����
��� IK�''23J ���� ,�� ����41 I,K8#41J *����22 I*8#22J *����#����� I*��22J
��� K��+����41 IK, �41J ��� �������� ���� � ���� �>�
�� ����� ������� � ��� �������� ���� � ���� ���� ��� ���� �� !� �������� �� ������
����� �� �� � ����� �� �������� ������ ��� ����G�� ����� ���� �� !� ���������� #�
��� �� ��� ������ ���� � ��!� �� ���� ��� �� ��� ������ ��������� ��� !� ���� #���
��!� ����� ��� ��� �� ��������� ���� ���� ���� � �� ������� 7����� ���� ��� ���� ���
�������� ���� � ���� ���� ��� �� �����%! /��� �� ��������� ���%��� �������� �� ������ ����
��������� �� ������ ��� ��� ��� �� ��� �� ������� �������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 111
![Page 129: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/129.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
5%�� �� /��� ��� �� � ������
.���� �� � � ���� ����� ��� �� 5�15 ����� ��� ���� ���������� ��������������� ���� ����
����������� �� ���� ����� )� �� ��� ��� ������ ��� ��������� ��� ������ ��� � �!��
�� ������� ���� �� ���� ������������
Version
(SingleT)
Single
( MultiT&MV )
( MutiT&SV )Single
of SameVersionsMultiple
(MultiT)
Version
Single
MultipleSpec Task
Task Commit Wavefront
EagerArchitectural Main Memory (AMM)
due to Capacity or ConflictsSpeculative State Overflow in Cache
��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
Spec Task
Lazy Eager
in Critical Path
LazyFuture Main Memory (FMM)
Cause Infractions & RecoveriesTrue Data Dependences that
Task Load Imbalance
Task Load Imbalance + Mostly−Privatization Data
Figure 5.15. Application characteristics that limit performance in each approach.
�� �� ������� (�� ������� �� ��� ������� �� � ���� ����������� @8(=A �� ���
���� ���������� �������������� ���� ��� ��� � �� ���� ����������� �� � ��� ������
���� �������� �� �� (�� ������� #�� ������ �� ���� �� 8(= ����������� �B�� ��
� �%��%����� ���� �� �� ���� �? ����� ��� ���������� ����� ��� ���� �B������� ����
��� �������� "������ 8(= ����������� ��� � !� ���� ��� ��� ����������� �B�� ����
���� ���� ����� ������%��� ������+������ #�� ���� ������ �� ���� 8(= �����������
!������ ����!� ����� �� � ����� �B�� �� � �%��%������ �� ���� ��� ��� ���� ��� ��� ����
�? ��� �������� �� � ����� �� � �� ����������� �� !��� (�� ��� ��� �������� ��
�������� ���� �� 8(= ����������� �B�� ��� ��%����� ���� �� � ��� �� � �� ���� %
�������� ������ ������ '���� (�� ��� ��� ��� ������! ��� ������� ��� ���� ������ ��
������� ���� ������ �� !� ����� #� � �� �B���� ���� ��� ����������� �B�� ���� ����
���� ����� ������ ��� �������� �� ���� � ���� ������ �� �������� ��� ��� ����
8(= ������������ )�������� ��� ��������� ��������� �� ����� ������� @���� �? �����
��� �B��� ������ ������A �� ��� !� �!� �� ����� � ��� ��? ����� �B�� �����
�� �� ��� � �� (�� ������� ��� ����������� ��� ������� �� ��� ��� �� �� ���� �����
����� �� ����� #�� ���� ����� ����� ��� !� ���� !��� �� ��� ������� ��� �� ���� ������ ��
���� �� ������ ����� (�� ���� � ��# ������� ��� ��� �� �� ���� ����� ����� ���
���� �����F����� ���� ��� ���������� ��� ���� ��� ��!����� ��� �� � ��� � ����
���������� ��� � ������ ��� ���� ����� ����� ���� ������ ����� ���� ������ ��� ! ��
116 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 130: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/130.jpg)
Evaluation Methodology
���� ��� ������ $���� ����� ���� �������� ��� ���� ����� ����� ��� ����G�� ������
��� ��� ����� �� ���� �� ���� (����� �� ����G�� ���� �� ��� ��� ������ �� ��� ���
���� ����� ����� �� ��� � ������ �� ���� !��� �� �������� ��� ���� �� !� �������� ��
������ ����� '���� ��������� ��� ��� ������ �� ����� ���� ��������� ��� ����� ���
������ ��������� ��� !� ������ ��� ������ �� ��� ������� �����
,���������� �� '����# (�� ������� �� !� ������ !� ���� ��� ��!������ #���
��������� ��� !� ������� ���� � ��# �������� "������ �� ��� � ����� ��� ��� ���
� ��#C'� ��� ��� ���������� ���� �����%�������+����� ������ �������� ��� ������%
����� �� !� ������ �� ��� ��� �������� !� '����# �������� =��� � ��#C'� �
��������� ��� ����� �� �B�� �� � ��� ���� ����� ���� !����� ��� ������ � �B�� ��� ��� ���
���������� "������ ��� ��� ���� �� ����� ���������� ��� �� �� ����� �� ���� �� �
��� ������� �� �� ���������� �����!� ����� �� ������ ! /���� !� ��� ��� ����������
#��� ���!�� ��� !� ������� !� ������ ��� � ��#C�� � ������
�� �� ������� 0���� �� �+� (�� ������� 0���� (�� ������� �� � /�� �� ���%
�������� ���� ��� #��� &����� =�������� ������� �� ��� ������� ����� #��� ��� ��� ��
!������ ����� ���� '����# ��� � ��#C'� �� ��� ����������� ���� ����� �������+�����
������- �� ��� ��� #��� &����� =�������� ��� ������ �� ��� ��� �� ��� ���� �B�� ����
���� � ��#C�� ��������
( ����� ������/� ��� ��� ���� �� '������ 5�9�
'�, ��������� ��������(
&�1�� ��%������� .������%���
#� ��� ��� ��� ����������� �� ��� ��/����� ! /����� ������� �� �� �� �B�� ����%
������ ��� ����� ������ !���� �� ��7# I��2;�J ���� � ������ � �%��%����� � ��������
���������� �B�� ���� ��,'%6 !�������� =� ���� � .B���� &&%7$�( ����� ���� ����
�������� � �������� �� ��� ������ ������ ��� ��������� ��� � ;%��� � ���������� #��
��������� ��� � <;%����� ����� ����� ������ ��� ; ��� 6 �, ��� 6 �D'� ����� ��
� ������ 3 ������� ���� ��� 1< ������� �� ��� � !����� ������ �� 3 ����� ��� ��� <;
��� ��� <; �, ������ ��������� @2<%����� ������� ���������A� �� ��� ��� � 6L%����� .#.
���� 6%!�� ��� ������ �� ������
0��� ���� ��� � 6%��� :6%L!��� 1 >%����� ��� � ;%��� 516%L!��� 6 !��� ���� <;%
!��� ���� ��� � �����%!��� ������ =� �� � ��� 6 !��� �� ��� ����������� ��� ����
#�� ������� ��%���������� �� ��%���� �������� ���� ��� ��������� �� ��� ��%���� 1 �����
6 ����� ��� ������ �� ��� ��� ���� ��� 6 16 95 ����� ������������ =��� ���������
��� ������ �� � ������ ���� ���� ������ �� 643 ����� ��� ���� �� ��������� ������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 11:
![Page 131: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/131.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
�� � ���������P� ����� �� ��? ���� ���� ��� ������ �� 621 ������ &��������� �� ��� �����
������ �� ��� ���� ������ �B���� �� ��� ��!� ������� ����� �� ��� ���� ��� �� ���
��� ����������� ������ #�� ������ ��� ���� �������� ���� � ������%���������� ������� ���
���� �� >('" I K�24J� ,���� �� ������ ���� ��� ������� �� ��%��!�� ������ ��� ������
=� ������ ���� �������� !��� �� � � ����������� ���� ����� �� ������ ��������� ,������
���� ��� ������� �����
=� ���� � ��� ���%������ ! /����� ���������� �� � � ��B����� �� ��� �� 5�9%@�A�
#�� ��� �B�������� ���H ����� ��� @����� �� �/������� � ����� �����%���� �� ������
��� �� ��� �� � �� ���� ���� ��� �� �� ���� �� �����������A ��� ������%��������
������� @����� ��� ��/����� ���� ��� ����A� #� ������ ����������� �� �� ��� ���� �����
������� �� I*��22J ����� �� ��� ������!�� �� (������B (� #�� ������� �� ������������
����F�� �� ����� �� ���� !�B �� ��� �� 5�9%@�A� $���� ��� ���� !��� ������� ��� �
��� ����� ����� �� ������ �� �������� ��� �� � ��/������� !������ ��� �������� 8���
���� ���� ������� � ������ � ���� ���� ����� �������� �� ��� ���� �����!� ��� ��������
�? ����� ��� �� � �%��%����� 8(=� �� ��� ���� ����� =� ����� ��������� ���� � � ��
6 ���G��� �� �������� ���������� ���� � ���%���� ����G�� ���� �� ��� ������� =�
� ����� � ���� �������� �� (�� ������� ���� ��� ; ���� �� ��� 6 ��� ��� ����G��
����� ��� ��� ������� ��� ���%���� �". �� ������� �� ��� ��� ��������� &����
���� �������� ���� 6 ��� ���� �� !��� ��� ��� ���� �������
#� ����� ������� ��� 1 ���� ���� �>� �� � ������� ��� 1 �� ��������� ���� �
���� �B�� ���� ���� ��� ��� ����� ���� ��� ������� !��� �� 6� ��� ���� ������ �� �����
(�� ������� �� �� � �������� ��!� ���� ������F�� ��� ���� �� ��� 6 ����� ���
����G�� ���� ���� ���� �� !� ������� !��� �� ���� ������ I,K8#41 '&*�44J� ���
�+� (�� ������� ��� ��� ������� ���� ������ �� ������ ���� ���� �>� ��� ��
����� ��� �� ����� ��������� �� � ��# ����� (�� ������� ������� ������� �� ���� ��
��� !������ ��� ) � ��� ������ ���� � ��������� ��� ���� ������� ����� ��� ��
����� �� ���������� ���� ������ ��� �������� ���� ���������� �� ��� ������� ��������
���� ��������� �� ��������� ���� �������� ������� ����� �B�� ���� �� � � ��� �����
&�1�� (�����������
=� �� � ��� �� �������F� ����������� ����� � ���� �������� �� ��� ���� �� ��� � � ����+%
�!� !� � ������+��� �������� #���� ����������� ���H (��� ���� ',0&��6444 I�� 44J
�� � ��� #��� ���� ,������ I.�32J 9�� 7� ���� ",�%6 I>'"2;J ,7� ���� 7&'(
��� � ���� I�� 2;J� (������B . ����� � !���� ����������� �� ���� ���� =� �� ��� ,�%
���� ������+��� ������� I.>0�2<J �� �������� ��� ���%����+�!� �������� ��� �������
���� ��� ���� ����� ������+������ #�� �� ��� �� ���%����+�!���� �� ���� ��� �����%
����� ��� �� �� �� ������ ��� ���������� �� ������ !��� �� �� ������� �� ��� � ����
11; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 132: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/132.jpg)
Evaluation Methodology
�� ������ G��� ��� �B���� ��� ���� ����� ��� �������� ����B��� �� ������ ��� �����B
����������� ���� ������ �� ����� �� ��� �� ����� �������� ,����� ����� ��� �������� ��
���%����+�!� ���� ����� �� ������� ���� ����� ������� ��������
#�!� 5�6 ����� ��� ���%����+�!� �������� �� ���� ����������� #���� �������� ���
���� ��� ��� ���� ����� ����� ��� �� ��� �� ������ ���� ����������� #�� �� ��� ��
���������� ��� ��������� ����� ��� #�� ��!� ���� ��� ������ �� ����� ���� ������� ��
��@ ��� ���� �@������ �B�� ���� ���� �� ��� ���������� ���� �D) �B� ���� #��� �� �
����� �� �!������ �� � ' � $��� 5 ����������� �� �� ������� 51�;V� 7��� ���� ��� �������
������ @;5�5VA �� � !� ���� ������ �� � ����� �B�� ���� ����� ��� ����� �������� ��
��� ���� ��� ������+��� #�� ��!� ��� ����� ��� � �!�� �� ����������� �� ����� ����
� ���� �B�� ���� ��� � �!�� �� ����� ��� ���������� ��� � �!�� �� ����� ������ ��� ����
��� ��� ����� !������ ��� ���� �� ����� ��� � ���� �� ������ ��� �� �B�� �� @���� '�����
>����A� #��� ����� ��� ���� ��� ���� �� ����� � ��#C�� ������ ����� ����� �����
���� ( ��� ���� ��������� �� ��� ��� ����� ��� ���� ����� �� ����� ��� �� ��� ����
�������� �� ��� ��!��
� � &�=����-� > + � !�%� � ���.� � !���� ���.
������� ���� �� !�%� �� ���. � ��
�� �� ��,��� ����
/�� �� ���� 282 1 :6998 8:1 ���9
���� �-��� :55 $1 $�:8 546 ��1$
# �� �� (�� ��0� $$5 1 1$:: 1�99 ��8�
"�� ��� �������� 5:9 :�� 89 1�58 �11$
0��)��1������
����� ��2� ���� 241 28 158 559 ��4$
3��� ���� �� ���� $15 4� $8666 2$ ��85
�%���"� 21$ 14� 5$$6� 229 ��28
Table 5.2. Application characteristics. Each task is one iteration, except in�� � and9�� 7�, where
it is 4 and 16 consecutive iterations, respectively.
����� #�!� 5�: ���� � ? �������� ���������� �� ��� !������ � �� ��� ������������
#�� F��� �� �� ������ �� ��� ��� ��!����� !������ ����!� ������ #�� ������ ��� ������
�� ��� ���������� �� �����%�������+����� ��������� =� �������� �� !� �� ����� ����
�������� �� ��� ����� ��������� � ������� ��������� !� � ����������� ����� � F��� �������
��� #�� ��B� �� �� ������ �� ��� ������� ��� !� ��� ������ ��������� �� ��� �����
�B�� ����� #��� �� �� ������ �� ��� ��+� �� #�� #��� &����� 8���� �� ��� �� �� ��
#�!� 5�6� 8����!�� ���� ���� ��� ���� ������ ����� ����� ��� � �!�� �� ���������� ��
������� ���� 1 ��� ���� ������ ��������� ������� �� ��� ������� ����� ����� ��� ���
�� �� ������ �� ��� ���? ���� �� ���� �? ������ 8 �%���� ���������� ��������� ��� �
��� �� �� � ��� 9�� 7�� �� �� � ��� �������� ��� �� �� : �� ��� 5< ��� ������������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 115
![Page 133: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/133.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
�� 9�� 7� �� ������� �� :4 ��������� ��� � �� ���� �� ��� 34 ��� ������������
� � � � �,�������������
��� ���% �������� ���.
! *�� ������� � �� �����,
/�� H�", /�� & &��
���� /�� H�", & &��
# �� �@ H�", /�-*� &��
"�� �@ H�", E�� &��
����� /�� �@ E�� �@
3��� �@ �@ /�-*� �@
Table 5.3. Qualitative characteristics of the Applications.
'�1 ���������
&�6�� ������ �� !������� ����������� ���#�72������� ��� ��������
��� �� 5�1< �������� ��� �B�� ���� ���� �� ��� ����������� ���� ������� ����� ����%
��� � ���������� ��� � �����H � ����� ���� ����� ���� @+�����A � ���� ���� �����
����� ! � ��� ����� �������� @������K+EA ��� � ���� ���� ����� ����� ��� � ����
�������� @������K�EA� ( ������� ��� 0���� (��� #�� !��� ��� ������+�� �� +�����
��� !����� ���� ���� ����� ����� �B�� ���� � � ���%������ ������� ��+���� @#���A
��� ���� � � �� ������ ������ ��� ��� �� ����D������� � ����� ��� ���%��%��� ���
� � �� ��� ������ ��������� �� ��� ��!����� @+����A� #�� � �!��� �� ��� �� ��� !���
���� ��� ����� � ������� �� ��? ����� �B�� �����
#�� ���� �������� ������ @������K�EA ��� � ������� � �� !����� ���� ��� ���%
���� ��� @+�����A ���� ��� ����������� )�� �� �� ����� ���%��!������ ������������
(�������� �� #�!� 5�: ���� �� ��� ���� ��� ,7� ����� ��G���� �� ��� �� 5�1<�
#�� ����� ��������� �� ���� ��� ��� ��!����� �� ������ ! � ��� ���� ������ �����
�� ��+�!�� �� ���� ���� ������� ��� �� ��� ������� ���� �� ���������� ����� ����������
@��� �� 5�1;%@�AA� 7��� ���� ��� ���� ������ ����� ��� � ��� !� ��� ����� �� �� ��
��� ���%��%��� ��� � � �� ��� ������ ��������� @��� �� 5�1;%@�AA �� !� ��� ��� ��
��������� ��� �B�� ���� ���� �� !���������K�E ��� +������ (�������� �� #�!� 5�: ���
����������� ���� ������ ��!����� ��� ��+�!� ���� ������ ����� ��� #��� ��� 9�� 7��
�� ����� ����������� ������K�E �� ��� �� 5�1< �� � �� ������ ���� +������ ��� ���
����� ����������� ��� ���� ������ ����� �� ������ ��� ���� �� ��� �� ��� ������K�E ��
!� � �� ������ ���� +������
11< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 134: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/134.jpg)
Evaluation
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
� ����
�� �
� � ��� �
���
�
Stall
Busy
P3m Tree Bdna Apsi Track Dsmc3d Average
8.5
1.9 6.2
1.6
4.2 0.7
0.9
3.4
14.1
11.9
7.2
3.4
7.9
3.6 1.8
7.2
7.5 7.5
Figure 5.16. Effect of supporting single or multiple speculative tasks or versions per processor.
������K+E ��� � ����� ������K�E ���� �����%�������+����� �������� ��������
�� ����� ���� �� ��� � �����!� +������ (�������� �� #�!� 5�: �� � ��� 9�� 7� ��
��� ���� � �� ��������� &����? ���� ������K+E ��� ������K�E �� ��� �� 5�1< ���
������ ��� ����� ,7� ��� ���� �� ����� �������� ��� �� ������K+E �� !������ ��� �����
��� !����
#�� ��������� ����������� @� #��� ��� (���A ���� � �� ��������� ������K+E
��� � ���� �� ��������� ���� +�����H �� �������� � ��������� ������ ���� ��������
��� ��� ���� ���� �� ��� O �� �B�� ��� !������ ���%���� ������ #��� ����� ���� ��
!��� ������� ��� , ����� ��� ���� �������� �� � ���� ����� , �� � �!�� �� �����������
$���� +����� ����� ����� ��� �/������� �������� �� ��%��!�� ����� �� � ������ �� ���
, �������� ���� ����� ����� �� ��� ����� "������ ���� ������K+E ����� ����� ���
������� �������� ��� ������ ��� ���� ����� ���� ,� �� ���� ���� ����� �� �� ������ ��
����� ����� ��� ������ ��������� �� ��� !� ���� ���� ����� ��� ���� ���� ��� ������
����� ��� �B�� ���� ���� ����� ����� ����� �� �� ��� ���������� ������ #��� �/���
����� ��� ������ ��������� ��� ��������� ���� ���� ������K+E ��� ����� �����������
�� ��� �� 5�1<� ���� ������ �������� ���� �� �B���� �� ����� �� (������B &�
)���� ������K�E �� � ���� ������H ��� ������� �B�� ���� ���� �� ��� �����������
�� :5V ���� ���� ���� +������
&�6�� .���� �� ��$ !������ ��� !��� !�%��$ �����
��� �� 5�19 �������� ��� �B�� ���� ���� ���� ����� ��� �+� ������� �������� #��
F� �� ������� ��� �� 5�1< ! � ���� � ;��� !�� �� ���� ������� (� � � � ������� ���
(���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 119
![Page 135: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/135.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
� �������
�� ��� ��
���
Stall
Busy
�� �
�� �
� � � �� �
� � �
� � �
�� �
� � � � � �
� � �
� � � �� � � � � � � �
� � �
� � �
� � �
� � � �� �
� � �� � �
�� �
� � �
� � � � � �
0.6
� � � � � � �� �
� � � �
�� �
�� ! "# $ %& "' � $( �) MultiT
&MV
�� ! "# $ %& "' � $( �) MultiT
&MV
�� ! "# $ %& "' � $( �) MultiT
&MV
�� ! "# $ %& "' � $( �) MultiT
&MV
�� ! "# $ %& "' � $( �) MultiT
&MV
�� ! "# $ %& "' � $( �) MultiT
&MV
�� ! "# $ %& "' � $( �) MultiT
&MV
� � �
� � �
�� �*+ , -./ / 01 23 456 7 -. 3 8 9 :6 , 8+ 1 4; / . 3 </
Figure 5.17. Effect of supporting eager or lazy merging with main memory state.
( �+� ������ ��� ��� �����% � �B�� ���� �� ��� ������������� ����� ������ ���
��� ������ ��������� �� ��� ������� ���� �� �B�� ����� (� ���� ���� �� '������ 5�5�:
��� ������ ��������� ��� ������ �� ��� ������� ���� ������ !������ ���� �B�� ���� @���%
�� 5�1;%@�AA �� �� ��� ��� �� ��� ���� ����� �B�� ���� @��� �� 5�1;%@�AA� #�� F��� ���%
����� ������� ���� ���������� ��� � ���� ���� �B�� ���� ������� ���� +����� ��� ��
�����%�������+����� �������� �������� ���� ������K+E� #�� ������ �������� �������
���� ���������� �� ��� ��� � ���� ���� �B�� ���� ! � ��� ���� ������ ����� ����� ���
� �!�� �� ���������� �� ������ ���� 1�
#�� F��� �������� ��� �� ���? ���� �� � � �����������H �� � ����� ���� ����� +���
��� ��� ��� ��� �������+����� ����������� @,7� � #��� ��� (���A ���� �����
������K+E� �� � ����� ����� ��� ������ �� �+����� �� !� ����������� �� ��� ����%
������P� ���� ������ ������ ���� #�!� 5�6 �� ��� ���� ��� ����� �� �����F���� ��� �
����������� �B���� ,7� ��� �� &����? ���� ��� ���� F��� �������� �+����� ��� �
������� +����� ��� #��� (��� �� � ��� 9�� 7� ��� ������K+E ��� #��� ��� (����
#��� �� ���������� ���� ��� �� 5�19�
#�� ������ �������� �� � ������ ��� � ����������� ���� ������K�E ��� ��� ���
���%�������+����� ���� @�� � ��� 9�� 7�A ���� ������K+E� "������ ��������� ��
#�!� 5�6 ��� (��� ��� �� � ���� � ���� ������ ����� � ������ ���� � �� ���� ����
� ������ !� 1< �� �� ����� ���� 1� &����? ���� �+����� ��� � ������� ������K�E
��� (��� ��� �� � ��� ������K+E ��� �� �� #��� �� ���������� ���� ��� �� 5�19��
�3�� ��������� � �������� �"��� @��, K�G���1L +� 18 ������� +� �,� � � � ��������? ����<
# ��< ��� ����� �"�� ����� *� � ���� *������ �,� �*�� ����� ��� ��C������ 3�� ��� ��4��
��"�� ��� ���- ��,� �� ����� �� � �,��� 5� ��� � ��,��" �� *��@��� 5� &�!� ��� 5� &�!�6�<
��� ����%��- 3%����� � ���� B"���� ��� � �@,�� ��C����� *������ �,� � �������� ����� ���� ,���
113 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 136: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/136.jpg)
Evaluation
)���� �+����� �� �/������ ������ ��� !����� ��� ��� ������ ������� @+����� ���
������K+EA �� ��� ��� ��� ������� �B�� ���� ���� �� ��� ����������� !� 65V ���� ���
������K�E ��� ��� ����� �� 64V� �� ������ �� �+� +����� ������� ������� �� � ����%
�/������ ������ ����� ��� �����%��!����� ����������� @� � � ����������� ! � ,7�A�
����� �� ���� ��� ��� ���� � ������K�E ������ ����� ��� � �!�� �� � �������
�������� �� ������ !� ��� ��+� ��� ������������� �� ��� 6 �����H 516%L!��� ��� ; ��%
��������� �� � � �B���������� ��� �� 5�13 ����� ��� �� ��� �� ����� ��� � �+� �������
��� ���� ������ ����� ��� ��� !���� #�� F��� ��� � ������ ������� � �!�� �� ���%
����� @)�����A ��� ������� ��� !�� ���� ��� �� 5�19� �� ��� ������ ��� � ���� ����
�� ���� �� ����������� �� � ����� ��� ���� ���������� ���� @2��A� #�� ����� ����
�������� ���� ��� ���� ���� ���� ��� ��� ���� ���� �� �!� � �� !� �������� !������
���%���� ������ #�� ��� �� ���� ��/������� ��� ��� ,7� ��� #����
�� ,7� ����� �� � ����� ��!������ ���������� ������� ��� ��� �� �� ���� �����
�������� � ��� ����������� ����� �� �� !��� *�� ��� ;��� �������� �� #��� 2�� � ��
1<V ����� ���� )����� ���� �� ����� ������� "������ ��� ��/������ !������ 2�� ���
)����� ���� � �+� ������ �� ��� 9V� #�� ������ �� ���� ���� � �+� ������ ������ ��
������� #��� ������% � ��� �������� �� ��� ������ ����� ��� ���� ��� ���!�!���� �� ����
���� ��� ��� ���� �� � � ����������� ����� ���� ��� ��� ������ ��!������ ��� �����
������� ���� F� �� ��� ����� ����� ��� ����� �� ��/������� !������ )����� ��� 2���
#� � � ���� ���� �� ���� �B�������� �� ���� ���� ���� ����� ����� ����G��� ���%
������ �+����� ���� ��� ���� ��� ��� ����� "������ �� ���� �� ���� ��!����� �����
���� ����� ����� ����G��� �����F����� �+����� ��� �� �/��� �� ��� �B�� ���� ���� ��
��������� !� ��� ���� ��� �����
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
����
����
��
����������
�
Stall
Busy
P3m Tree Bdna Apsi Track Dsmc3d
9.5 8.4 3.4
14.1
7.2
6.7
7.9 1.8 1.8 6.9 3.2
3.5 3.4
0.6 0.6
14.2
7.8
7.5
Eager Lazy Eager Lazy Eager Lazy Eager Lazy Eager Lazy Eager Lazy
Figure 5.18. Effect of limited support for eager or lazy merging with main memory state.
&�6�� (�� ��������� �� /����� !��� !�%��$ �$���%
��� �� 5�12 �������� ��� �B�� ���� ���� ���� ��������� �� ��� � � �� ���� ������
������ �������� ( !��� �� ������K�E � ������ ��� ��� (�� ������ �� ������ ���
��� �� K�G���1L ,�%� ��C�������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 112
![Page 137: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/137.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
����� ��� �+� !��� ���� ��� �� 5�19� ��� ��� ��� ������ �� ���� ��� !������ �+�
������ @;���A ��� ��� ���� ������ ! � ����� ��� ������� �� �������� �� ��� ������
������� ! /�� �� ���� �� �������� @;����+=A� �� � �� � ������ ����� ��� ���������
�� K��+����41 IK, �41J ��� ���������� ��� ��� �B��� ����� ������ ���� ������� ���
�������� ( ������� �B�������� �� ���� �������� ������ ����� �� ��� ��B� �������� (�
��������� �� '������ <�5�1 �� �� ��� ��� ��� �� ����� ��� �������
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Eag
er
Lazy
Lazy
.L2
Lazy
Lazy
.SW
Eag
er
Lazy
Lazy
Lazy
.SW
Eag
er
Lazy
Lazy
Lazy
.SW
Eag
er
Lazy
Lazy
Lazy
.SW
Eag
er
Lazy
Lazy
Lazy
.SW
Eag
er
Lazy
Lazy
Lazy
.SW
Eag
er
Lazy
Lazy
Lazy
.SWN
orm
aliz
edE
xecu
tio
nT
ime
Stall
Busy
P3m Tree Bdna Apsi Track Dsmc3d Average
4.9 5.3 4.6 9.5 9.5 9.4
3.4 3.2 14.1 14.2 14.5 14.4 7.2
8.4
7.9 8.4 1.8
3.5 3.8 3.3
7.5 7.5 7.3 7.18.1 7.4
AMM FMM AMM FMM AMM FMM AMM FMM AMM FMM AMM FMM AMM FMM
Figure 5.19. Effect of supporting an architectural or a future main memory system.
��� ������� ��� !����� � ���� �� ������� ������ ���� (�� ������� �� �������
��������� �� � � ����������� ���������� ��������� ��� ��� �������� ���? ��� @#�%
!� 5�:A�#�������� �� �� � �B���� (�� ������� �� !� ������
�� �������� ���� ��� F� �� ����� ���� ��� ����� 0���� (�� ������ �� ��� ���
���� ������������� �+� (�� ��� � ����������� ���� ���� �� �+� ���� #�� �������
�B�� ���� ���� �� �+� ��� �� ��� 9V ������� ���� �� �+� (��� =� ���� ��
��������� ���� ��� ��������� �������� ����� �� � ����� �+����� �� (�� �� �/�������
0B������� ��� ��/������� !������ �+� ��� ��� �+� (�� �� ��� ���� ��� ��%
�������� ��? ���� �� 9�� 7� ��� �� � �� ��� �/��� ��� ������� � ��� #�� ��� ��O��
��/������ !������ ��� ��� ������� ��� �� �� ,7� ����� �+� (�� �� ������ ,7� ���
��� ��!����� ��� �����%�������+����� ��������� (� � ��� � ���� (�� ��� ������
������� ! /�� �� � ��������� ����� ��� ����� �� � ���� � ���� ����� ����� ���� � ����
�������� �� ��� ���� �����!�� #�� ���� ��+� �� ��� ����� ��� ��� ����� ������������ � �
�� �������� �� ��� ����G�� ����� � ��������� ����� � �������� �� ��� ���� �����!� ���
���� ��� ���� ��� 6 ��� � /��� ������������ � � �� ���G����� )���� ��� ��� ���� ���
�� ������ ���� ���� ,7��
#� �������� ���� ���!�� �� ���� ��������� 6P� ��+� ��� ������������� �� ; �!����
��� 1< ���� ����������� @ �+�� 6 !�� �� ,7�A� �� ���� ���� (�� �������� O �� �� ��
�� ����
����� ��� �� 5�12 ������ ���� IK, �41J �� ���� ��� ����������� ��� �� �������
164 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 138: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/138.jpg)
Conclusion
�������� �� ��� ������ ������� ! /�� �� �������� @ �+��'=A �� ������� �+��'= �����
��� 9V ����� ���� �+� ��� �� � � ��� ������� ����������� =��� �� ��������� ����
�������� �� ��� ����� ��� ���� �����B �+� ��� �������� ����� ��� ������� ��
�������� �� �������
&�6�) ��%%��$
#���� ��� �� ��� � �� ������ ���� ������ ����� ��� ������� �� ��� � ����
�����D�������� ��� ��������� ��������� ���� ������K+E �� �������!�H ��� �����������
�� ������ �� +����� ���� ��� �����B��� �� ����� �� ���� �� ������K�E�
'������� ���� ��� ������� ������ @+����� 0���� (��A �� ���� ��� ������ �� ������
� ����� ��� � ���� �����C�������� �� ��� �+������ ) � ������ ���� ���� �� ���� ������
� ���� �����C�������� �� ���� ����%�/������� ������ ��� ��� ����� �� �B�� ���� ���� ��
������H :5V ���� � 65V ��� �+������ � ��������� ��� �������� �����B��� �� ���� ���
������ � ���� �����C��������� '����F��� ������K�E ��? ���� ���� �>� �� ������ ���
���� �� ����� ��� ����� �+����� ��? ���� � ������ �� ���� ��� ����� �� ��� ���������
�������� ��� �� ������ ��� �� ����� ���� �������� �� ������� #�� ����� ��� !� �����
���� ���� �>� �� ������ I,K8#41J �� ���� � ����� ��� IK�''23J� &������� �� ������
��? ���� � ����� ��� ������� �� ����������� I,K8#41J �� ���� �� ������ I*��22J�
( ����� ���� ���� �� ���� ��� ������������ � � �� � ���� �����C�������� ��� � �
�� �+����� ��� ����� ���������� ������ ������ �+����� �� ��� ������K�E 0���� (��
������ ��� ��� ��� �B�� ���� ���� !� �� ��������� 64V ��� ���� �� � ����%�����������
�������
����� ��� ��� ���� ������ @������K�E �+� (��A �� ����� �� ���� � �����
���� ��� �� !� ������� ����������� ������� ��� ���� �B������� ��� ������� ������ @����
���K�E �+� ���A� #�� (�� ������ �� � �� �� ���� �� ��� ��� ������� ���
��� �������� �� ���� �� �� ��� �� ��! ��� ������ ����������� ���� ��+�!� ������� ����
�����F���� ��� ��!����� ��� �����!� �����%�������+����� �������� � � ������ �� ���
����� ��������� �� ������K�E �+� (��� #�� ������K�E �+� ��� ������ ����
��� ���� ���� ���!��� "������ �� �� ���� �B������� ����� !��� �� �� ����� ������
���� I*��22J�
'�2 ������ ���
#��� ������� ���� ��� ���� ������! ������ ����� �� ������ ��� � ���� ��B����� ��
���������� �� ! /�� � ��%������� ������ ����� ��� ���� ����� ������+����� �� � ��%
����������� =� ������ ����� ��������H � ���� ���������� �� ������ ����� �� ��� �������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 161
![Page 139: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/139.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
�� ��������� �� �� � � �� ����� �+� �� ����� ������� ��� � ���� �� ����� ���� �%
���� ����� ��� �������� ��� ���������� )� ���� ��B����� �� ������ ! /����� �������
�������� ���������
#�� ������ ������! ���� ��� � ������/ ������� ��� � ������� ����������� ��� �����
�� ��� ��/����� ������� �� ������� �� � � ��B������ #�� ����������� ��� ����� ��� !����
�� ��� ������ �� � ��� ���������� ���� � ����� !������ ��������� �� ����������
) � ��� �������� ��� ���� � ����� ��� � ���� ���� ����� �����C�������� �� ���� ����%
�/������ ���� � ����� ��� �+� �������� �������� !��� � ������ ���� ����� ���������
�/���������� ��� ��� !� ���!����� ( �+� � ��%����C������� ������ ���� (�� ��
����� �� ���� �� ��� ���� ������ ���� ���� "������ �� �� ��� �� ��! �� �� ��� �����
���� ����������� ���� ������ ��� ����� ���������� )���� ��� �+� � ��%����C�������
��� ������ �� ��� ������� ��� ���� ��! ��� "������ �� �� ��� ��� ���� �B��������
) � � � �� ���� �� ���%���� ����� �� ��� �B������� �������� �� ����� �� �������
��� �������� �� ��� �+� � ��%����C������� ��� ������� '����� �� ��� �B�������
����������� ���� ���� ���? ��� ��������� ����� (�� ��� ���� �� �����
166 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 140: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/140.jpg)
��� �����
I.�32J �� .���� �� �� #�� ,������ & ! .���������H 0/������ ,���������� 0�� �%
���� �� ' ������� ����� )��/� :����� �� +�� ����� (���� ������ :@:AH5R
;4 �� 1232�
I.>0�2<J =� . �� 8� >��� 8� 0�������� �� K�� � �� "��G����� #� �������
�� �� >� ,�� � N� ,��� .� ,�������� � 8� �������� ��� ,� # � (�������
,������ 8���� �� ���� ��� "���%,���������� &��� ���� ���� ,������ )***
'����� 62@16AH93R36 >����!�� 122<�
I&�#44J �� &����� �� �� ��������+ ��� �� #������� (�������� �� ' ����� ��� '���!�
'��� ����� ,�����+����� �� '�����%������ � ������������� �� ,� � �� ��
-5�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(4663 ����� 1:R
6; � �� 6444�
I>'"2;J �� > / 8� '�����!�� ��� ,� "����� ",�%6 '���� �� (��������� ��� ����������
(����������� #������� 8����� &8,&%#82;;26 8��� $��������� 7����!��
122;�
I0 ,'23J L� 0�������� .�%"� �� ,� ,������� ��� �� '���� ,8�'�H (� ����������
(�������� �� ��� '���!� '����� ������� �� ,� ����� �� �� 2�� )��/� +���
������ �� 8����,����� '����� ( ��� �� 08,'(41$3 ����� 1;4R
151 ��!� ��� 1223�
I��41J 8� ��� ������ ��� �� ������� "������� ' ����� ��� 0B�������� &�����%�����
'��� ����� ,������� �� >�����! ��� '�����%������ � ������������ ��
,� � �� �� )��/� '���� �� ,����� ,� ����� 0)',,46.3 '�����!��
6441�
I� (41J �� ����� =� �� ��� '� (����������� ( '������� ��������� ��� ' ��������
K����� , ����� (���������� �� 8�� &��� ������ ��!����� #������� 8�����
��#D &' #������� ���� <12 � � 6441�
16:
![Page 141: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/141.jpg)
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
I�'2<J �� ������� ��� K� '� '���� (8.H ( "������� ��������� ��� >������
8��������� �� ������ 8���������� )*** ����� �� '������ ;5@5AH556R
591 ��� 122<�
IK723J �� K ��� ��� 8� 7��� #�����? �� ��� '��� ����� 8 �%#��� ,�����+�����
�� ����� �� ,� � �� +�� �������� /.11$ 7����!�� 1223�
IK, �41J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
����� #������� '������� ������ ���� '��� ����� ,�����+������ �� =���
���� �� ���� ,����� )���� ���� �� ��L�� ���� ���� )+'(46. � �
6441�
IK, �46J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
�� #������� '������� ������ ��� � ��%������� . /����� ���� '��� �����
,�����+������ #������� 8����� 88%46%4; >����������� �� ������������ �
����������� �� '������� ����� 6446�
IK�''23J '� K��� #� 7� ��O��� ��� �� 0� '���� ��� K� '� '���� '��� ����� �������%
��� &����� �� ,� � �� �� 2�� )��/� +�������� �� 8����,����� '�����
( ��� �� 08,'(41$3 ����� 125R645 ��!� ��� 1223�
I"L22J 0� "�������� ��� �� L������ =������ R ( '���!� ,��� ��� '�,�� ��
,� � �� �� %�� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4113 ����� 191R131 ��� ��� 1222�
I"=)23J � "������ �� =��� ��� L� ) ��� �� >��� '��� ����� ' ����� ��� �
&��� � ������������ �� )� ,� � �� �� $�� )��/� '���� �� ( ��� ����
+����� �� ,�������� ;������� ��� ?������ +����� 0(+,;?+41$3
����� 53R<2 )���!�� 1223�
I�� 2;J �� 0� .������ #�������� #������� 8����� ������ �� ��� (�������� $���������
�� "����� 122;�
I�� 44J �� � "������� ',0& &,$6444H ���� ���� ,���������� �� ��� 7�� ����� ��
)*** '����� ::@9AH63R:5 � � 6444�
IL��3<J #� L������ (� (�������� �� ��� ����� � ������� ��� ����� �� ('� ;���
��� A�� ������ ,�������� '���� ����� 544R512 ( � �� 123<�
IL#22J �� L������� ��� �� #������� ( &���%� ����������� (�������� �� ���� '���%
����� � ������������ )*** ����� �� '������� +� ��� )��� �� ������
����� ( ��� ��� ����� 3<<R334 '�����!�� 1222�
16; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 142: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/142.jpg)
References
I K�24J >� ������ �� � ��� L� K���������� (� K ��� ��� �� "�������� #��
>��������%.���� &���� &�������� ,������ ��� ��� >('" � ������������
�� ,� � �� �� .5�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(4163 ����� 1;3R152 ��� 1224�
I�K22J ,� ���� �� ��� (� K��+���+� & ������ '��� ����� � ���������� ,�����%
����� �� ,� � �� �� .111 )��/� '���� �� +�� �������� 0)'+4113 �����
:<5R:96 � �� 1222�
I7(.�25J (� 7����+�� K� (�!�� �� .����� 0� L�� �� ,����� .� 8���� ���
'� ������� #�� ':��� '���!� '����� ������ � ������������ �� ,� � �� ��
.11% )��/� '���� �� ,����� ,� ����� 0)',,41%3 ����� 1R14 ( � ��
1225�
I)=,�41J &� � )�� '� =��� L��� ,��� 8� 0�������� .� ����F ��� #�7� ��O��� ����
� ����BH $������� &���������� ��� '��� ����� #�����% ��� ,�������
�� � &��� � ������������ �� ,� � �� �� -66. )��/� '���� �� +�� ���
������ 0)'+46.3 � �� 6441�
I,K8#41J �� ,�� ���� �� �� K��+����� � 8� �������� ��� �� #������� 8����%
��� (�������� �� .��������� �� ��� '���!���� �� '��� ����� ,�����+�%
����� �� ,� � �� �� -$�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(46.3 ����� 64;R615 � � 6441�
I8,25J � 8� �������� ��� >� ,�� �� #�� 8,> #���H '��� ����� 8 �%#��� ,���%
��+����� �� ���� ���� ,������+����� ��� 8�� ����� ,�����+������ �� ,� �
�� �� +)D,;(< .11% '���� �� ,�������� ;������ 9���� ��� )��
���������� 0,;9)41%3 ����� 613R6:6 � �� 1225�
I8'44J ,� 8 ��!��� ��� ,� '��������� ��%&��� #�����% ��� >��� >���������
'��� ����� �� � ������������� �� A���� =������ �� ���������� * ��
����� ( ��� �� ��� '���������� >����!�� 6444�
I'.�25J K� '� '��� '� .����� ��� '� ��O������� � ������� ,���������� �� ,� � ��
�� --�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3 �����
;1;R;65 � �� 1225�
I'&�29J ��K� '��/�� &� .� &����� ��� #� &� ������ (�������� �� ' ����� ���
#�����% ��� >��� '��� ������ #������� 8����� &�$%&'%29%133 '���� ��
&��� ��� '������ &������� ���� $��������� 7����!�� 1229�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 165
![Page 143: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/143.jpg)
Chapter 5.Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
I'&*�44J ��K� '��/�� &�.� &����� (� *��� ��� #� &� ������ ( '���!� (�������
�� #�����% ��� '��� ������ �� ,� � �� �� -5�� (����� )��/� +�������� ��
'����� ( ��� �� 0)+'(4663 ����� 1R16 � �� 6444�
I',33J ��0� '���� ��� (�8� ,��+� �� ����������� ,������ ������ ��� �� ,�������
,���������� )*** ����� �� '������ &%:9@5AH5<6R59: ��� 1233�
I#"(�22J ��N� #��� �� " ��� &� (�� >� �O� ��� ,�&�N��� #�� ' �����������
,�������� (�������� ��� )*** ����� �� '������� +� ��� )��� �� ������
����� ( ��� ��� ;3@2AH331R246 '�����!�� 1222�
I��2;J ��0� �������� ��� 8��� ������ ��7#H ( ����� 0�� ��� 0����� '�� �����
�� '�����%������ � ������������� �� ,� � �� �� + ��� )��/� =������
�� �������� (�������� ��� +��������� �� '����� ��� �� ������ �����
+����� 0�(+'?�+/123 ����� 641R649 ��� ��� 122;�
I*��22J N� *����� "������� ��� '��� ����� ,�����+����� �� >'� � �������������
,��>� #����� $��������� �� ������ �� $�!���%&�������� >��������� ��
0������� ��� &��� ��� 0���������� ��� 1222�
I*8#23J N� *���� � 8� �������� ��� �� #������� "������� ��� '��� ����� 8 �%
#��� ,�����+����� �� >�����! ��� '�����%������ � ������������� �� ,��
����� �� �� 2�� )��/� +�������� �� 8����,����� '����� ( ��� �
�� 08,'(41$3 ����� 1<6R19; ��!� ��� 1223�
I*8#22J N� *���� � 8� �������� ��� �� #������� "������� ��� '��� ����� ,��%
���+����� �� ,������%,���� ���� �� >'� � ������������� �� ,� ��
���� �� �� %�� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4113 ����� 1:5R1:2 ��� ��� 1222�
16< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 144: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/144.jpg)
������ #
����� � ��"� ��� $���
���������#� �� ������#��
�� ������������
� � �� ���� ������ ����� ! /����� ������� �� !� � ���� �� ���� ��� ���� ����� ������%
��� ������+������ "������ ������� !���� �� ���� �������� ���� � ���� �������� ���%
��B��� ���� ����� �� ���� ���� ��� ���� �� ! /����� ���� ����� ������ #��� �����B���
�� � !� ������� �� ! /����� ���� ��������� !� �������� ��������
�� ���� ������� �� �B���� � ��������%��� ������������� �� ! /�� ���� ����� �����
��� �+� � � �� ���� ������ �������� =� ���� � ���� ����� ������� ��� ! �� �
��������%��� ! /����� ������ ���� � ����� �� ! /�� ����� ���� � ���� ����� ��� � %
���� ��������� ) � ������ �B������ ��� ��O�� ��� �� ��� �������� ������ �� ����%�>� ���
�������� ��� ����� !� F������ F��� ������ !�������� ��� ����� �� ���� ������������
) � ��� ������ �� � 1<%��������� &&%7$�( ���� ���� ��������� ��� ��� ) � ����%
���� ������������� ��� ���� �� �������� �� � 9V ���� � ������ ��������%��� ������
���� �� ������� ���� �� ��� �������� �����B����
,�� �����������
�� ��� ������ � ������� �� ���� �� ���� ��� ���� ������/� �� ! /�� ��� ���� �����
������ ����� ���� � ���� ����� ��� � ���� �������� @� ��#C��A ���� ���� �����
������%��� ������+������ =� ���� ��� ��������� � ���� ��B����� ���� �����F�� �B��%
���� ������� !���� �� ��� �������� ����� �� ! /�� ���� ���� ����� ������ ������ ) �
��B����� ��/���������� !������ (�������� �� ���� ������ @(��A '������ ��� � %
169
![Page 145: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/145.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
� �� ���� ������ @���A '������� =��� (�� ������� ������ ����� ! /��� �� ������
! /��� ���� ���� ����� ����� �� ������� ��� ��������� �� ����� �� ���� ������ �� !�
���� ����� "������ ���� ��� ������� ���� ������ ����� ��� ���� �������� ���� �%
���� ����� ���� ������! ��� ������ ������� ! /��� @�".A ���� ��� ������ � ����� @������
��������� �� �� ���� �����A �� ���� �� ������ ��� �� �� �� � �%���� ��� ��������� �� �����
�� ���� ������ ��� !� ��������� ) � �B��������� ���� ����� ���� ��� ������� ������
�� !� � ��! �� ������ ! � ���� ��� ������������� �� � ������ �������� �����B����
#�� �������� �����B��� �� ��� ������� ����� ���� ��/����� ������ ,��� �� �� ��
������ ���� (�� ������� ��� ������ �� ��� ���� ����� ������ ���� ������ ��� ����������
������ ��� ��� ���� ��� ���� �? ����� �� F��� ��� ������� ������� �� �� ��%����� 8(=
����������� "������ ��� ������� ���� �B��� �����B��� �� ! /�� ���� ����� ������
)� ��� ���� ���� ���� �� ��� ���� ������ ���� ����%�>� �� ��� � �%�� ����� �������
������������ )� ��� ����� ���� ����������� � ������! ��� �". ��� � � ��#C��
���� ����� ������ ����� ��� � �%��%����� 8(= ����������� �� �� ������ �� �����B�
0��� ��������� ����� �� ���� � �". ����� ������ � ������ ��� ��������� �������� ��
���� ����� ����� ��� ����G�� ������ �B��� � ����� �� ������� #��� �B��� � ����� ��� !�
�� ����G�� ���� �� ��� ��� ������ �� ��� ��������� ����� ���� ����� ����� ��� ����G��
�����
(� � ������� �� ��� ��� �� ��� ������ � ������� �� ��� ���� �B������ �� ����� ��
������� ��� �������� �����B��� �� �+� ��� ������� �� ���������� #� � �� ����
������� �� �B���� ������ ����� ! /����� ������ ��� � �� � ��#C�� �������� ) �
�������� ������ �� ���������� ���� �� ��������%��� ���������� �� ������ �� ��
������ �������� ��� ��� ��� � ��������%��� � ��#C�� ! /����� ������ ���� � ��
�� ��� �� ��� ���� ����� ������� ��������� �� I*��22 *,K�22J @��� �B������ �� �����
�� (������B (A� �� � � ������� �� �B����� ��� ��O�� ��� �� ��� �������� ������ �� ����%
�>� �������� ��� ����� !� F������ F��� ������ !�������� ��� ����� �� ���� ������������
=� ��� ��� ��� ���� ������ ���� ��� ������ ��� �� F�� ���� ��� ������������� ��
� � �������� � ��#C�� ! /����� ������ �� ���� �/������� ��� � 1<%��������� &&%7$�(
� ����� ���� ������ ������+�� ����������� � � ������ ���� �� �������� �� ��� 9V
�� ��� �B�� ���� ���� �� � ������ ��������%��� ������� =� ��� ��� ��� �����������
�� ������ ���������� ��������
#��� ������� �� ������+�� �� �����H '������ <�6 �������� ��� ���� ����� �������
���� �� ��- '������ <�: ������� �� �������� �� ��� ������� ! /�� ���������- '������ <�;
�������� � � �������������- '������ <�5 ������!�� � � ��� ����� ����������- '��%
���� <�< �������� ��� ��� �����- ��� '������ <�9 � �����+���
163 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 146: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/146.jpg)
Speculation Protocol Used
,�� !"��������� �������� 0 �
#� ���� � �������� �B���� �� ��� � �������� ������������� �� � ! /����� ������
��� � �+� ��� ������ �� � !� ��� �� �� ��� ���� ����� ������+����� �������
���� I*��22 *,K�22J� #��� ������� ��� ��� � �". �� �� ������� �� ��������
���� � ����� �� ! /�� � ��#C�� ������ ������ ��� ���� ���� ���� ��� � ��������
�������� ��!����� �� ��� ��������� ��� � ���� ������ �� ��� !������ �� ���� ����
��� ��������� �� ���� ������� �� ���� ���� ������� ��� �B���� �� ���B������� ����%
���� ������������� �� ��� �".� =� ��� !���G� ������!� ���� ������ �� ��� ��������
���� ������ �� ��� ������� ��� ��� ��������%!���� ! /����� ������ ��� !� �� �� ��
(������B (�
#�� ��������� �� ������� ��� ��� �� I*��22 *,K�22J �� � &&%7$�( ��������
�� ���� ������ ��� � �%��%����� 8(= ����������� �� �� ��� �? ��� �� ��� ������ #��
���� �� ��� ����������� ��� !� �������� ��� ����� �� � �%����� '��� ����� �������� ���
������ ���� ������ ��� ��� ����� ����� ������ ���� ������� ��� �������� =��� ��� ��
����� �������� ������� � ������ ���� ���� ��� ��� F��� ���� � ���� �� ������ ���� �>� ��
�������� #��� ���� ����� �� ���� �� ��� ���� ������ �������� � �� =9��� ����%�>
��� ���� �� ��� ���� ����� �� =9��� �� ������ ��� ������� �� ��� ���� �� ��� ������
����� �� ��� �> �� ��� �� ����� ���� ���� ����� ��� ���� ��� �������� �� �� ��� ����� (�
��� ���� ��� ���� ��� ������� �������� �������� �� ����� ���� ��� �� ���� ���� �����
�� ������ ����
�� �������� �� ����� ���� �? ����� � � �� ����� ���G���� �� �������� ���!��� ����
������� ��� �� ����G�� ���� �� ��� ��� ������ �� ��� ��������� ����� �������� ��
��� ����� ��� G�� ����� #� � ��� F��� ���� � ���� �������� � ����� ��� ���� ���
���� ������ !��� ����F�� ��� )' ����� � ��� ���� �� ��� ����P� ��� ������ �����
��� �������� ��� �� ������ #�� ����P� ��� ������ ��� ����� � ���� �� ��� ���� )9�
��� ���� ���� �� ���� ���� ��� !��� ���� ������ ��������� #���� ���� �>� �� ������
��� ���� ���� ��� �> �� ��� �� ����� ��� ���� ���� ������ ��� ���� @,�� =A ��� ���
�> �� ��� �� ����� ��� ���� ���� ����� �� ����� � ������� �� F��� @,�� >.��A� #�� �����
��������� �� �� ���� ����� #���� ���� �>� ��� � ��������� ������ !� � ����������%
��������� �������� ������ ���� ��� ��������� ��� � ����� ���� ��� �����!� ,�� >.��
��� ,�� = ����� �� � F���� #��� ������ ������ ���� � �� !� ���� ������� �� ��� ����
����� ���� � ������� ���� � ����� ��� ���� �� ������ ��� ���� � � ������� ���� ���
���� �� !� �? ����� ������������
(� � � ����� �� ��� ��� ���� ������ ��� 1 ��� 6 ����� ���� ���� � >��.�� ��� �
=�� !�� ��� ����� #��� �������� ������� ��� � ����� ���� ��� ��� �� �� �B����� ��� ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 162
![Page 147: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/147.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
��� ������� ��� ���� ������������ #���� !��� ����� ��� ������ ���� � ��� ���� ������
��� ��� �� ��� �� ��������� �� ��� ���� �>� �� ��� ��� �������
,�� �������� �+ ��� 6� ���( 3�4�� �"�������
�� ���� ������� �� ���� �� �������� �� � � ��#C�� ! /����� ������ !���� �� � �������
! /�� ��������� ( �����!� ������+����� �� ��� �". ��� � �+� ��� ������ � ��������
� ���� ����� ��� � ���� �������� �� ����� �� ��� �� <�1� 0��� ��������� �� ��� &&%
7$�( ������� ������� ��� ������� ! /�� �� ��� ��� ������� #�� ������� ���������
��� ��+� �� ��� ������� ��� ������� ! /�� !���� �� ��� � �!�� �� ������ �� � ���� ��� ���
� �!�� �� ����� ��� ��������� ���� ��� ���� �� !� ���������� �� � ���� ������������
#�� ������� ! /�� �� !����� ���� ���� FB��%��+�� ������� ���� ���� ��� ����� �����������
!� ������� � ������
=��� � ���� ������ � ����� �� �� ��������� �������� �� ����� �� ��� #��� ,������
#�!� ��� ��� ������ �� ��� ������� ! /��� ���� ������� ��� �!������ ���� ��� ���� '�����
'����� #�� �������� �� ��� #��� ,������ #�!� ����� �� ��� 7�B� ����� �� F ��� ��� 0��
����� �� ����� ��� ����G��� �� ��� ���� ����� ���� ������� ���� � ������ ������� ������ ��
��������� �������� ��� ����� �� ��� ������ � ��� ���� ��� )���G�� !�� �� ����
������������������������������������
������������������������������������
��������
Next
Addr
Ovflw
Value
End
History Buffer
������
������
������
������
������������������������������������
����������������������������������������
����������������������������������������
Stack
ValidTask i
Task j
Sector
0
1
Task ID
Sector Free
Overwriting
ji
ProducerTask ID
Task Pointer Table
Figure 6.1. Per-processor structures that we use for the history buffer.
( ������� ! /�� � ������ �� � ����������H ������ � ������ �� ��� ������� ! /�� @)���
����A ������� � ��� ������� �� ��� ������� ! /�� ���� ��� ����� @> � �A �������� ���
������� ! /�� �� ������� ��� ��������� �� ����� ����� � �������� @> ���A ��� F����� �
������ �� ��� ������� ! /�� @>�����A�
��������? .����� � ������� �� � �����!� �� ����������� !� � ��� ��� ��� �� ������� ��
����� ���� ��� ������� ! /��� ( ������ ��� ��� ��� ������� ����������� �!� � ��� ��
�������H ��� ���� � ������� @��� ��� ��� ��� �������� �����A ��� �� � !����� ��� �����
��� ��� ��� ���� ��� ���� �>� (���� ��� ������ �� �������� �� � � ���� ��� 7�B� �������
1:4 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 148: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/148.jpg)
Efficient Software Implementation
�� ������������ (� ��� ��� �� � ���� � ��� �������� ���� �� ��������� ��� �� ������ � �
�������� �� ��� �� ���� ������� ����� ��������!� ���� �� ��� #��� ,������ #�!� ����
��� ���� �>�
�"��? (���� � ���� ��� ��������� � ��� �������� �� ��� ������ !����� �!������
#�������� ��� ������ ��� !� �������� #��� �� ���� !� ����������� ��� ������������� #���
,������ #�!� ����� ��� ��� ����� ��� ������ �� ��� ���� '����� '�����
��'��"? =��� �� � �%��%����� 8(= ���������� !������ ����� �� �������� �� �������
!� ������ ��� ������� ������ ��������� !� ��� � ������� ����� �� ��� ������� ����� #���
������� �� ���� �� ����� !� � �������� ������ � ����� �� ���� �� ��� ���������� ����
��� ��� �� ��� ����� ���� ����� �� !� ������
#�� ������� ������� ��� �������� ����� ��� ������ �������� !������� �� ����� ����� ���
������� !��� �� ������ ���� ����� ���� �>�� '����� ��� ������� ! /�� ������� !�������
�� ����� ����� ��� ��������� �� ���������� ���� �> ����� �� ������� �������� ��������� ���
���� ��� ���� �>�� #���� �������� ��� ��� ������� !��� �� ������ ���� ����� ���� �>��
�� � ����� !���� ��� ������ ��� ������� ��� �������� ����� ���� �> �� ������ ���� ��
�? � �� ��� ���� �> �� ��� � ����� ������� ��� �� ��� ���� ���� ����� ���� ��� �> ��
��� �/������ ������ ����� #��� �� ��? ���� !��� �� ��� ����� !���� ����� ������ � � ��
������ (� ��� ��� ��� ������ �������� ��� ��������� �� ������
����' �? 8������� ��� !� ��? ���� ���� � �B����� ��� ������� �� �� ��%����� 8(=
���������� ��? ��� �� ������ � ���%��� �������� �� ���� ���� � ���� !� � ���� � ����� ��
� ��������� ������ !� �����F�� !� ��� ����� �� ��� ������ ��������� ����� ��� ���� ���
���� �B�� ���� #�� ������ �� ���� � ����� ���� �� ��� ������ ��������� ��� �����������
��� �����!� ��� � ���� ��� ��? ���� ������� ���� ��� ������� ! /��� �� ���� ���� �� ������
��� ������� ! /�� �� ��� ���� ��� ��������� �� ���������� ���� �> ����� ������ ��� ���
������� ����������� !� ��� ����� ���� ��� �� ���� ���� ��� ������ �����
'���� ����� ��� ����� ������ �����? ���� ���� ��� !� ����� ���� �������� �B�������
������� ���� ������ ��� ������� ! /����#�� ��������� ��� 8������� ��� 8������� ���
���� ���� ���� ���� ����� �� (������B (�
,�$ ����� !�+����� ��"�����������
#�� ������ ���� �� ���� O �� ������!�� ��� !� ���������� !� ������ ����� ��� �". ���
� ��� ���������� �� '������ <�: �� �������� I*��22 *,K�22J� �� ���� ������� �� �B����
� ��������%!���� ������������� IK, �44 K, �41J� ) � �� ���� �� �� ��������
��� �". �� � ���� �������� ���� ��� �� ��� =� ��� �B����� ��� ������ �� � ��������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1:1
![Page 149: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/149.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
� ��#C�� ! /����� ������ ! �� �� ��� �� ��� ���� ����� ������� ��������� �� <�6 @���
�B������ �� (������B (A� �� ��� ������� �� �B����� ������ ��������� ������ ��� ��H
��������� ���� �>� ���� �������� @'������ <�;�1A ������� ���� �>� @'������ <�;�6A ����
��������� @'������ <�;�:A F������ F��� ������ @'������ <�;�;A F������ ���� �����������
@'������ <�;�;A �B����� ���� @'������ <�;�5A ��� ����� ��� �� @'������ <�;�<A� ����� ��
�B���� ��� ��������� @'������ <�;�9A ���� ��� ������ �� ����� ���� ����� �������� ���
�� ������� � � �������� �� ���� ���� ��� ��������%��� ������������� @'������ <�;�3A�
1�)�� (�������� ���� ���#�-'� �� �������
#�� ���� �>� ���������� ���� ���� ������ ���� ��� ������� �� ��� ������ ������ #���
��� ���� ��� ������ � ��������� !� ��� ����������%��������� �������� �� ���� �� ���
���� ����� �������� �� ���� ����� ����� ���������� ����%�>� ��� ��� ���� ������ �� ���
���� � ������� ����� �� ��� ������ 7���������� �� � �� F�� � ��� �� ���� ���� ����!�
�� ��� ���������
#� ���� ��� ���� � ��������� ������ ���� ������ ��� ��� F��� ���� � ���� �� ������
���� ��� )' ������ �� �� ��� ����P� ����G�� ����� ��� ���� �� ��� �� ����%� �!����
������� ���� � �!��� #��� �� ������� ��� ���� �>� �� ��� ���������� ������� ���
������� ����� =��� ���� ��� � �� ��� ������ � ���� �> �� �������� ���� � ������ ���H
�� �)9 >�� (��E�
����� (��E� �� ��� ���� � ������� �� ��� �����!�� =��� ���� ����� ����� �B�� ��� ���
�������� ����� ��� ������� ���� � �!�� �� �� ����� � � ���� ��� # . ��� G��� ��� ����
�����F���� !��� #�� ��� � �� ���� ��� ������� ��� �� �� ������ �� ���� �� ��� ���� �>�
���������� ���� ��� �����!�� #��� ������� �������� ��� 1<%!�� ,�� >.�� ��� ��� 1<%!��
,�� = ���� �>�� '���� �� ��� ���� �� ��� ��� ���� �����F���� 1< !��� ����� ,�� = ��
������ ��� ����� ����� ����� �� � ���%���� ��� @��A� )���� ���� ���� ������ � �����
��� �������� ��� ���� ��� ,�� = ���� �>� �� ���� ���� ������� ��� ��� ���� � �������
�� ��� �����!�� ��� �� <�6 ����� �� �B���� �� ��� ���� ��������� ������
7����� ���� ��� # . ��������� ��� ������ ���� � ������� �� ��� ���� ���� ��� ���� %
������ �������� ���� ��� ��� ������� ������� �� ��� ����G�� ����� #��� ��� �������
������� �� ��� ��� �� ��� ������� "������ �� ������ ��� ���� �� ��� ���� �� ���� ���
������ ������� �������� #� ���� ��� ��� (������ #�������� ��� � �� ��� �� <�6 ��
���� #��� ��!� ����� ��� ��� ������� ������� ��� ��� ��� ��� ������ ������� ����
#��� ���������� �� !� ������ �� ��� F��� �B����� ��� ��� F��� ����� �� � ���� ����
� ������ ������� ����� �� !� ���� �� ��� ����� �� �������� ���� ��!� ��� �������� ���
������� ���������� ���� ��� ������ ������� ������� �� ��� ��� ������� ���� #��� ��
1:6 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 150: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/150.jpg)
Efficient Software Implementation
page
Data
Processor
addresslocal
addresspage
local task−IDs
local address
local
TranslationModule
Address
address
address
To network
address
Shared
Shared
Physical Memoryin each node
From networkTask−IDs
TLB
Virtual
Addres
Figure 6.2. Special mapping to access task-IDs from software and Address Translation Module.
!� ������ �� � ������ ������ ���� ��� ���� ���� ���� ����� ��� �B���� �� F�� ���
������� ������� �� �� ��%����� 8(= ����������� #��� ���������� ��� � �� ������ ��
���� �� ,���� I0 ,'23J =������ I"L22J �� ':��, I7(.�25J�
#��� ������ �� ������������� ���� ��� �������� �� ������ ��� ���� �>� ���� ����
��� ���� ����� ������� �������� �� '������ <�6 ���� ��� �� ����G�� ���� �� ��� ���
������ ����� "������ �� ��� ��� ������� ��� ���� �>� ���� �������� �� � ���� �����
������� ���� ���� ��� � ����� �� ����G�� ����� &������ �� ��� �� ���� �� �� ��� ��
�B��� F�� �� ���� # . ������ #�� ��� F�� �������� ��� ����� � �!�� �� ��� ���� �>�� (
# . ����� ��� ������ �� ��� ������� ����� �� !��� ���� ��� ���� �>�� #��� �� ��� ��
��� ���� ��� ����� ����� �� ���� O �� ������!��� =��� �� �)9 >�� (��E� �� �B�� ���
��� # . ������� ��� ������������� ���� �� ���� �>��
���� ����� ���� ���� ��� !� ���������� ����� � ��������� ��� # .� '����F���
���� � ���� ���� �� ���� ������ �������� ��� ��� F��� ���� � ���� �� ���� �>� �� �������
��� ��� # .������� �� ��� ���� ���� �� �������� #�� ���������� �� � ���%�B������ ���
������� ���� ������ �� � FB�� ������� �/��� ���� ��� ���� �> ������� ����� ' !��? ���
�������� �� ��� ���� �� �!���� ���� ��� # . � �� @���%�B������A ��� ������� ���������
����� �� !� ��� �� ��� ������� �� ���� �� � ����� ���� ��� ������ ������� �� ��� ����
���� �� �!������ ���� ��� (������ #��������� ��� � �� O �� �B������� )� ��� �����
���� �� �)9 ����� ������ �� ��� ���� � ������� �� ��� ���� �!���� ��� ���%�B������ ���
������� ��������� ���� ��� # . ��� � ��������� � !����� ��� �/���� #�� ��� � �� ��
������ �� ��� ���� �>� �� ���������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1::
![Page 151: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/151.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
1�)�� *�� ��� ���#�-'�
=� ���� � �� �)9 �� !���� ������ �� ,�� = ���� ��� ����� ��� ������ ���� ���� �����
���� ��� � !��? ��� �� �)9� "������ ��� ,�� = ������ ������ �� ��� ��� ������ ���
!� ����F�� �� �������� !� ��� ���� ����� ������� �� ���� ����� ��������� &����? ����
�� ���� ��� ������ ������ � �� ���� �� ����� ���� �� ���� �� ���� ��� �� ����� ����
�� �������� �� ��� ���� �� � ���� ��� �������� ������ ��� ������ ������ ���
#��� �� ����������� ���� � ��� �������� ���� )9 0�� �)93 ����� ������ (���� ���
������ �� ������� �� ���� ��� �> �� ��� �B�� ���� ���� ��� ����� �� �� ��� ������ ����
�� ,�� = ���� �� �)9� #��� ��������� ������ ��� ������ ���� �� ��� ������� �������
� �!��� (� �� �� �)9 �� �)9 ����� �� ��� ���� ��� ���� � ������� �� ��� �����!� ���
��� ������ ��� ��� ���� ����� ��� ,�� = ���� �� ������ ��� ��O����� ,�� >.��
��/������ ' �� �� ����� ���� ��� �/��� ��� ���� ���� ��� ���� �>� �� ������� #��
���� �>� ����� ��� ������� ��� ��� �������� �� ���� ��� ����������� �� ����� ���� �>�
���� ���� ��� ����� ���� ��� ��������� �����
)���� �� ��� ������ ��������% ������ ���� �>� �� ��� ����� ���� ������� ���
��������%������� ������ ���� �� ������� #��� �� � �����%�/ �������� ���� ��B���+��
����������� ���� ������+��� ��� ��������� � ����� ��? ����� #�� ��������� �� ������
���� �� ��� ��� ���� �� ��� �������� �� ����� ������������ �� �� ��� � �� �)9 �� �����
����� ������ ������ 7��� ��� ���� ��� �������� � �������� ���� �������� �� � �����!�
��� �� ��� ���� �> ��� ����� ��� �� �� ��� ������ ������ �� ������ #��� �� !��� �� �
����� ����� ������ �� ��� ���� ���� � ��������
1�)�� 8�����$��� -�������� ,��� ����
��������� �� ��� ���� ��������%��������� ��������� ����� �� ��� �� ���? ����� (� ������
���� ��� ������� ����� ����� ������� � ������ ���� ����� ������ �� ���� � ������ �� ���
�".� ��������� � ������ �� ��� ! /�� �� ��� �� <�1 ������� �������� ��� ����� �� ����
������ ���� �� ��? ���� ���� ��� < � ������� ��� ��������� ��� �������� (� � ��� �
��� ������� ��� ������+�� �� ����� ��? ���� �� ��� ����� �� ����� ���� ���� ��������
=��� � �� �� ������+����� ����� �� ������ �� ������ ��� � ����� ������� �� � ��������
��������� �������� ���������� ��� � �� ��� ���? ��� ���� �����������
��� �� <�: ����� ��� ��,' �����!� ����� ������ ����� !����� ����� ���� ����� �����
���� �� ���� �� ! /��� ( ������ �������� ��� �������� ���� ��� �� ��� ������� ��%
�������� ��������� =� ��� ��� ���� �� ���� � ���� �� 2 ����� ������H 1 �� ����� ���
������ ����G�� < �� ����� ��� ������ ��� ����������� 1 �� ��������� ��� ������� ��� 1
�� ����� ��� ������ ���� �>� 7��� ���� ��� ��� ���� �> ����� ����� @�� �)9A ���� ���
1:; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 152: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/152.jpg)
Efficient Software Implementation
1<%!�� ,�� = ����� �� ���� ������ �� � � �����
D �1 � � �� �� �� + �,� �����
D �5 � ������� �� � �- � ������ �,� �����
D C�����9� � ������� + �,� %����*�� � � ����
��� �1< �5< ��������
������� ���,�� �����
��������?
���� �$< �9< C��� D � ��� ������� + %����*��
�� �$< ���5� D ���� �� ,����- *�C��
����� �$< C�����9� D ��� /���7 ���. !'
�� �$< $��5� D ���� �� ,����- *�C��
�� �$< C�����9� D ��� %���� + %����*��
�� �$< 4��5� D ���� �� ,����- *�C��
���� �5< �5< ����������
������ �2< C�����9� D � ���� ���,�� /���7 ���. !'
Figure 6.3. Instructions added before a speculative store.
)��������� ���� �� ��� ����� ������ ��� !� ���������� ��� �B���� �� ��� �������
����� ��� ��B�� � � �!�� �� ������ �� ! /�� �� � ������ �� ��� ��� ���� �� ����� ���
����G�� ���� �� ��� !�������� �� ��� ������H �� ����� �� ��� �� ����� ��� ����� �� �� ����
�� ����� ������ � ��������� �� ��� ������� ����� ��� �B��� � �!�� ��� ����� �� ���
������ �� ! /�� �� ��� �������� ��� �/���� �� ��� ����� ������ ���� ����� �� ��� ! /�� ���
����� ������������ ��� ������� ����� �����
����� �� !� �!� �� ��� ����� ��� ������� ! /�� ��� ��� �� ������� �������� ��
�����!�� ����������� !� ���%���� ����� ������ ��� ������ �� ��� ����� . �� ��� �B���� ��
��� �� <�;� .I�J ������ ��� ��� ���� ����� ����� ��� ������� ��� �������� ���� ���� �� ���
���� ����������� ���� ��� ������ ���������� �� ����� ������ "������ ����� ������ ����
�� !� ! /���� !��� �� �� ���� �� ���������� ����� ����F������� ���� �� !� ������ �� � �
����� ��������� �� ��� ����� ���� ����� ���� ������� "������ ��� ����� ��������� ����
��� ���� �� ������ ���� �>� !��� �� ����� �����!�� �� ��� ���� ����� ( ��/������ !������
�������� ! /����� ������� ��� � � �������� ��� �� ���� �������� ������� ��? ��� ������
��������� ����� �� ���� ���� ����� ������ ���� �� !� ! /���� ���� �� �� ����������
��������� ��������� ����� �� !� ������� ����� ������ ���� ����� ������ ���� ������
�� �� ���������� ����������� ! � ���� �� !� ! /���� ��� ������ !� �� ��� ��? �����
���� �� ��� ������ �� � ��� � �� � �������������� @�� �� � �������+����� ��������������A
���� ��� ������� ��� ������ �� ������+� ��� ����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1:5
![Page 153: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/153.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
+� ���1D ���D ����
� �K�K�LLD
�K.K�LL� D
�K�L � �K�L � �K.K�LLD
Figure 6.4. Stores to the array B are non-speculative but need to be buffered.
1�)�) /�������� � � /���� �����
(� ������� � � �� ��� ������ � ������� � ��������� ��� ����� �� ���� ��� ��� �������
���� ��� !� ���� ���� ���� �� ���� �� � ���� ��� ����� ������ ����� �� ��� ���� �����!�
��� ��������� ��� ����� ��� ������� ���� ��� �� � ������� !� ��� ��� ������
(� � ��� � ��� �". ��� ����� �� ���� ��� �� � ����������� !� ��� ��� ��� ��
��� �����!� �� ��� ����� &����? ���� �� ��� �� �������� ��� ������� ��� � ��������
F��� ������ ��� ����� ���� ��� ������ � ��������� �����!�� ���� ��� �����!� �������
�� ����� ���� !����� !���� ���� �� ��� ���� �� !� ! /�����
����������� F��� ������ �� ���� ��� �����!�� �������� ���� ���� �������� ����� ���
���������� ��� �� �� �� � �� ����+�!�� "������ �� �� ��� ���� ��� �����!�� ��������
���� ���� ����� �������� !��� �� ����� ���������� ��� �� �� �� ���%����+�!�� ��� ���
����� �����!�� �� � �� ���� �� ������ ��� ����� ��������� ��������� �� '������ <�;�:
�� ��������� ���� ������� �� ��� � ����� �� � F��� ����� ��� ���� �� ���� ��� ! /��
�� ��� !���� �� ��� ��� �� '���� ��� ������� ���� ��� ���� �������� ��� ������� ���
��������� ������ ��� �� ������� ���� � �%���� ���� ��� ! /�� ������������� &����������
�� ��/����� !� ���� ���������� ! /����� ���� �� ����������� ��� � /���
#� �������� F��� ���� ����� ������ �� ������� �� �� ��� �� ��� �����!� ����������
!���� �� ���� �>� �� �B������ ���� ������������ .��� ���������� ��� !� � ����� ��%
������ ���� ��� �� �� ������������ =� �������� � ����� ��� �� ��B��
,�����& +��& $ �.��4�
)�� ��� �� �������� F��� ������ �� �� �� ��� ,�� = ���� �>� ����� �� ��� �> �� ���
�� ����� ��� ���� ���� ������ ��� �����!�� &����? ���� �� � ����� �� �������
,�� = �� ��� �> �� ��� � ������%�B�� ���� ����� �� ���� ��� ��� ���� ����� �� �� ����
�� ���� � ������ ���� ��� ! /�� !��� �� ���� �� ��� � F��� ������
#��� �������� �� ��� �� ��� �� <�5%@�A ����� ������� ��� �B���� �� ��� �� <�: ����
1:< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 154: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/154.jpg)
Efficient Software Implementation
��� ��� �B�������� ��� ��������� ��� ���� ���� ��� ��� �� ��� ����� ��� ������ ����G���
D �5 � ������� �� � �- � ������ �,� �����
D C�����9� � ������� + �,� %����*�� � @����
D �2 � !' + �,� �#������" ���.
������ �8< C�����9� D ��� /���7 ��� �8< �1< + +�����9� D7�� � *�� ��� �8
��� �8< �2< �������� D B��� ����M ���� �8< �������� D B��� ����M
���� �$< �9< C��� D ������ �� ����� ���� �$< �9< C��� D ������ �� �����
�� �$< ���5� �� �$< ��� 5�
�� �8< $��5� ������ �$< C�����9�
�� �$< C�����9� �� �$< $�� 5�
�� �$< 4��5� �� �1< 4�� 5�
���� �5< �5<���������� ���� �5< �5< ����������
������ �2< C�����9� D � ���� ���,�� ������ �2< C�����9�
��������? D /���7 ��������?
#�$ #�$
Figure 6.5. Filtering first stores using task IDs (a) and extended loads (b). For simplicity, we do not
include the check for sector overflow.
,�����& +��& 50������ (� ��
#�� ������ ��� �� ���� ��� F��� ������ �� �� �� ��� =�� !�� ������� �� ��� ���� �� ���
1 ��� 6 ������� (� ��������� �� '������ <�6 ���� !�� �� ��� ��� � ���� ���� ��� � �����
���� ������ ��� ���� ��� ��� F��� �����
#��� �������� �� ��� ��� ����� ��� ���� ��� ������ � ���� ������ �� ��� ������ �
�������� ����� ����� ������ ����� ������� ������ ��� ���� �> ������������ �� �������
��� ����� �� !� ! /����� �� ���� �������� ������� ����� ����� ������ ����� ��� �������
������ ��� =�� !�� ���� � ��������� #�� ���� �> �� ��� ����� �� �� ����� �� !� ! /�����
#�� ������������ �� ���� �������� ������� �� ���� �� ����� � ��� �������� � ����� ��
��� ������ � ��� � � �� �B������ ���� (� * ���� ;��� �� � ��� ���� ���� � �����!�
���� � �������� ��� ��� =�� !�� ���� ������� ���� #��� ������ �������� �� ����������
������� �� ��������� .���� �� ��� ��� � �� ��� ���� �� �� ����
#�� ��� ���� ���%����� ����� ��������� ���� �B������ ���� �� ����� �� ��� �� <�5%
@!A� �� ��� F� �� �� �� �� >� >L (�� ��� �� �B������ ��� ���� ���� ��� =�� !��
���� �������� >��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1:9
![Page 155: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/155.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
+��& ���� ���
#�� ���� � ������������� �� ��� ��� ���������� ������!�� ��� � !����� ����� �����
@��� ��� <�5%@�A ��� @!AA� .������� ��� �������!� !��� �� ���� ��� ���� � ,� =� ���
���� ��� �� �������� ��� !������� ���� � ����� ��� � ���� �������� �� �� �������%
���� I,'21J� �� � � �B����� �� �� ��� �B������ ��� ���� �� ��� ���� �> ��������
��� !� ������� ����
�� � ����� �� �� ����������� �� ��� ��� =�� !�� ���� �� �B������ ��� ���
���� ��� � ��������� �������� �� ��� !�� �� +���� (���� ���� �� ��������� � ��� ! /�����
����� ������ �� ���� ��������� ��������� ��� �� <�<%@�A ����� ��� ����� �� ��� F� �� �� @
���� ��������� �. �� �� � ������������ ��=�� �� +��� ��� � ��� ����� ������ ���� ����
�� ��� ���������� �� �.�
D �5 � ������� �� � �- � ������ �,� �����
D C�����9� � ������� + �,� %����*�� � @���� D �5 �� ���� �+ �,� ���. �� � �� �����%�
D �2 � !' + �,� �#������" ���. D +��@��" �@ ����������� ���� ����� � �5
��� �8< �1< C�����9� D7�� � *�� "�� � �8 ��� �8< �1< C �����9� ��5�
!����� �1� < �8< � D ��� �1 !����� �1� < �8< � ��5�
D +��@��" ����������� ��������� � �1 D +��@��" ����������� ��������� � �1
���� �$< �9< C��� ��1� D ������ �� ����� ���� �$< �9< C��� ��1� D ������ �� �����
�� �$< ���5� ��1� �� �$< ���5� ��1�
������ �$< C�����9� ��1� ������ �$< C�����9� ��1�
�� �$< $��5� ��1� �� �$< $��5� ��1�
�� �1< 4��5� ��1� �� �1< 4��5� ��1�
������ �2< C�����9� ��1� ������ �2< C����� 9� ��1�
��������? ��������?
#�$ #�$
Figure 6.6. Eliminating the branches with the use of simple (a) and more advanced (b) predication.
=��� ���� �������� ��� !����� ����������� 0���� ����� ������ ����� ������� ���
�B�� ���� �� �� ���� ��� ��� ����������� ����� ������� #�� ���������� ����� ������ ���
��� �������� �� ��� ��������� �� �� � ���� �B�� �� ������� )�������� ���� ��� ���������
���� ��������� ��� ����� ���� ���� �B�� �� �� �� ��� ��������� �� ���� !����� ���� ��� �
���� ��� ��� ���� ��� ��� #�� ��� � �� � ��������� ������ �B�� �����
( ���� �������� �� �� ����������� ���������� ��� ��� ����������� �� ������� ��
��� ��� ���� �� ���� ������ #�� ���%���� ����� ���� ���� ��� ���� �� ���� �� �����
�� ��� ������� ! /�� !��� �� ��� ������ ��� ����� &����? ���� �� ��� � � ������
��������� �- �� !� �� � �� ��� ���� �� ���� ������ =� �� �- �� ��������� ��� F��� ���
����� ������ �� ��� �� <�<%@�A ����� ��� �� ��� ������� �� �.� #�� ���� �� ��� ����� ������
1:3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 156: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/156.jpg)
Efficient Software Implementation
��� ���������� �� �.� #�� ��� ���� ���� �� ����� �� ��� �� <�<%@!A� =��� ���� ��������
� ���%���� ����� ���� ���� ��� ���� �� �B�� �� � ����� ����� �����H �- �� ���� ��� �� �
��� � �. ����
#�� ������� �� �- �������� �� ������ #������ ���� � ���� ������ ��� �- �� 1 !��� ��
��� ���� �� ���� ������ (� � ������� ���� � ��� ����������� ����� F���� ��� ������ ���
��� ���� !������ ���%���� ������ (� ���� ����� ��� ���� � �� !� ����F�� �� ���� �� ���
���� ��� �-� (� �!��� � ��� �� ��������� ��� ���� �� �� ���� �� �� ������ ��� &����? ����
���� � ���� F������ �� �� �� �!� �� ������� ��� ������ ����� �� ��� ���� �� ������ �� ��
��� ��� ���%���� ����� �����
$����� ����� ���� �������� ��� �����F���� ��������� �� ��� � ��� !� ��� ��� ����%
���� ���� �����%!������ �����H � ����� ���� ������ ���� ���� �� ���%���� ����� ���
���������� �� ������ �� �� ��� ����� ������� �� ��� ������� �� ! /������ #��� ��������
��� � ��� !� ��� ���� ����� �� �����F���� ��!�����H ���� ����� ����� � �� ���� ��
���%���� ����� ��� ��� !���F� �����F����� ���� ��� ������ �� ���� ������� �� ��� �������
! /��� �� �� ��������� ��������� �� �������� ��� ������ ���� ���� ��� ��!����� ���� ��
���������
=� �� ��� ����� ���� �� �������� ��� ��!������ #�� F��� ��� �� �� ����� ��� ��+�
�� ��� ������ �� ���������� ������ '����F��� ���� � ��������� F������ � ���� ��
������ ��� ��+� �� ��� ������� �� �� �� ����� ���� � �������� �� ����� �� ������ �� �� ���
���%���� ����� ���� �� ���� ��� ����� ��� ���� ��� �-�
( ������ ��� �� �������� �� ����� �� ��� ��!����� �� �� ������ �� � ���� ����� �� ������
�B��� ������� ��� ��� ������� ! /��� �� � ���� ����� ���� ������� �� ���!�!� ����� ����
�� �� ����� ���� ��� ������� ���� ��� ���� ����� �� ��� ��!������ &����? ���� �� ���
���� ���� ������� ��� ������� �� ��� ������ ���� ��� � ���� �� ����� �� �� �� ��� � �����
���%���� ����� ���� ��� �� �� ���� ��� �-� #��� �������� �� ������ �� �����
1�)�& .4����� ���� � �� 3��� �� �� �������
=��� �� ������ � ������ �� ��� ������� ! /�� �� ��� ������ ��� �������� �� �����!��
!����� ���� ��� ����� =��� �������� ��� � �� ���� ���� ������ ����� �� ��� ����
����� � ��� ������� ��� !� ���� ���� � ���H �� �B����� ���� (� �B����� ��� ���
!���� ���� � ���� � ������� �� � �����!� ��������� !� ������� ���� ��������� ����� ���
��� �������� &����? ���� �� ��� ���� �� ! /�� ��� ������ � ������� !����� �B�����
�����
���� ����� ��� � �B����� ���� ��? ��� ���� �� ���� � ������� =� ��� ���� ��
! /�� ���� ��� �B����� ��� ��� � ������� ��������� ���� ���� ��� ��� !��� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1:2
![Page 157: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/157.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
���� ���� #��� �� ��� ���� ����� �� ��� ���� �� ��� �B����� ��� ,�� >.�� �� ,�� =�
=��� ���� ��������� �� ��� ���������� ��� ���� ����� ��� ��� ������� ��� !�� ��� ��
���� ��� � ����� ���� ������� �B����� ��� ��� ��� ��� !��� ������� ����� @,�� >.�� �
,�� =A�
�� �������� ����� ������� ��� ���� �� ������� ���� ! /����� �� ����� #�� ������ ��
���� �� �� ����� ���� ��� � ��� ��� ������� �� ������� ��� �B����� ���� ���� ��� �����
���� �� ����� ����%��%����+� ������ )���� ��� ��� ���� �������� �� �� �������������
����� ���� � ���� �������� �� ��� ���� ����� ��� ��� ���� ���������
&����? ���� �� ������ ��� �� ����� ���� ��� ���� �� ��� ����� ������� �� ����
���� ��� ��� ����������%��������� �������� ������ ������ ������� �B����� ���� ����
���� � ��? ��� �� ��� ���� �� ��� � ��� ������� @'������ <�6A� &����? ���� ���� ����
������� �� ��� ���� ��� ������ ���� �� ������ �� �� ��� ���������� �� ��� ��������� �
�������� ������ ������ ��� ������ � ��������� ��� ����� ��� ������� �� ��� ��������� ��
�� ��
&���� �� ����� ������ ��� �������� ���? ���� ���� ������ �� � !� ����������� ��
�������� ����� � �� ��� ���� ��� �B����� ���� ���� ��� ���������� �� ��� ���� �� F��
� �������� #�� ������ �� ���� ����� ������������ ����� ������ � �������� �� �����������
���� ��� ���� �� ������� ������� �� ��� 8(= ������������ �� ���� ���� ��� ���� ����
��� 8(= ����������� ���� !������ ���%�/ ����� ����� �� � ���� !� ���? ��� ����������
#�� ��� ���� �? ��� �������� �� � ����� �� � �� ����� �� �������
7��� ���� �� ��� ��� ��� ���� �� ���� ���� �B����� ���� �� �����!�� ���� ���� ���
!��� ���� ��� �������� ' �� ���� ��� !� ������ ��� �B���� ���� ����� ��� ����%���
���� ��� �� ���� "������ �B����� ���� �� ����� �����!�� �� ��� ������� � �����������
�� ��� ���� �� ��� � �������� ������� �B����� ���� �� ���� ������ �� ��� ������� !�
��� ��������� �� ��� ��� ��� ���������� �� ��� ���� ������- ��� ��� ���� �� ��� ����
�� ��������� 7�� ��������� �� ������ �� �� ���� ���� �� �B���� ���� �� ����H ����� �� ��
���� �� ! /�� �������� !��� �� �� ������� ���� �����
1�)�1 ,� �� -�����
#�� ��� ���!�� ��� ���� �� ��� �� !��� � ��� ������� �� � �� ��� ������ ������� #��
F��� ���� ���� � ������ ����� � ������� ���� �� ��� ���� ��� ��������� ����� ���� ������
�B�� ��� ���� ��� ������ ����� #�� )�������� '����� ����� �� ��� ���� ����� ���������
�� ��� ������ ��� �������+�� ��� ���� �� ���� �>� ���� 4- ��� ��� ���� �� ���������� ���
���� �� ���� �>� �� !� �������+�� ���� %1� =��� � ������ ���������� ��� ������ �� � ��
�� ! /�� ��� ������ ���� �> ���� ��� ��� ���� 4 �� %1� �� ���� �� �� � �%��%����� 8(=
1;4 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 158: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/158.jpg)
Efficient Software Implementation
���������� �� � ���� ��� �������� ������ �� ��� ������� ���� ��� ���� �> %1 ������� ��
��� ���� ��� ���� �� ���� ���� ��� ������� �� ��� ����!� ��� �� �� ���� ��� �������
���� ��� ������ ���������� �� ��� ������ ��������� ��� ������� ��� !� �� �� �� ��� ���
������ �� �� �� ����� �� ��� �� ���� � 4 �� ��� ���� �>�
( F�� ��� � ������ �� ���� ���� �>� �� F��� ������ ��� �� �� ���� ���� �� ��� 8���
���� '������ <�;�1 ���� F���%���� ���� ����� �������� �� � ���� �� ������ ���� �������
������ ������ ��� ���� ��� �������� �� ���� �> ����� ��� �� ��� ������ �� ��� ����
����� 7�� ���� ������ ��� �������� !� ���� �> �������� ���� ��� ���� ���� � �������
����%�> ���� ��� !� ��� F��� ���� �� ������ ��� ���� � � �!��� �� ����� ���� ���� �����
����� &����? ���� ��� )' � �� !� ����F�� �� � ����� ��� ���� �������� ��� �������
���������� �� � �� ���� �� �)9 ����� ����� �� �� � �� ���� ���� ����� ��� �� ������
1�)�6 *������ -�����������
( F�� ��� � �� �". ��������� �� ���� ��� �������� ��� �� � ������� ���� ��� �� � ! /����
�� ��� ���� �� ��� �� � ������������ )�������� ������� �������� ��� !� �������!�� #���
��� � �� ��� � ���!�� �� � ���� ����� ������� ��� � ��� ) � ������� ���� ��/�����
�������� �� ��� ���� �����!� �� �B��� �� ��� ��/����� ������ ��� ���� ��������� ! /���
��� �� �� ������� ��/����� !� ������� ���������P� ������ "������ �� �������� ���� ���
��� � ����� ������� �� ���� �����!� ��� I*8#23J ���� �� � ���!���
�� I*8#23J ���� ����� �������� ��� ������ !������ � ��� ���������� �� � ��� ��
�������� �����!�� (� �� �B���� ��� �� <�9 ����� ��� ����� ���� ���� ������ ����� ��
��� ���� �����!�� #�� ���� � � ��� ������ ��� ��������� ��� ����� ������ ���� ������ �
������ �� ��� ��� >�������� �� ��� ������ �� ��� �B�� ���� �� �� �����!� ���� ��� ���
������ ���� ���� ��� ���� �� � ����� �� ���� ������ �� ��� ��� ���� "������ ���
����� �� ����0�3 ��� ��������� ��� ���� �� ����0�GL3 ������� ��� ����� �� ����0�GL3 ��
��%��? ��� ��� ���� ��� ��������� ��� �� � ��������� !� ����0�3� #�� �". �� #���@�UOA
�� � ���� ���� � ����� �� ��
��� ����� ����� ������� ���� ����� �������� ����� ������� ����������� �� ��� � ����%
���� �� �/�� ��� �� ������ #�� F��� ��� �� �� �� ���� ����� ��� ����� ������ �� ���� ��
��� ���� ���� ��� ! /������ =��� ����� ���� ����� ���� �B�� �� ��� �������� ��������
���������� ��������� &������� ��� �� <�9 ������ $���� ���� ����� ���� � �������� ����
��� ���� ���� ��� ����� ���� �� ��� ���� �� ��� ����������� ���� #�� ������ �� ���� ���
��� ���� ����� �� ����� �� ��� ������� ! /�� �� ����0�GL3 � �� ���� ��� �� � ������� !�
��� ���� ����� ����� �� ����0�3H �� ��� ��� ��� �� ������ �� � �%��%����� 8(= �� ��������
��� ����0�GL3 �� �? ����� ��� ���������� #�� ��� � ��������� �� � � ������+����� ��
��� ��� ����� �� ���������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1;1
![Page 159: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/159.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
���. � ���. � � J
� �
� �
�� �1< C�����5� D *�C����" ��� �� �1< C�����5� D *�C����" ���
� �
�� �9< C�����5� D � �������%� ����
�� �9< C�����5� D � �������%� ����
Figure 6.7. Example that may result in incorrectly-buffered information.
#��� �������� �� ����� ��� ���� ��� ��? ��� ��� �B��� �������� � ������ "������ ���
���� ������������ �� ���� �� ������ ��� ����F��� 8(= ����������� !������ ���� �����
������ ��� ���� ! /����� ����� #��� ���� �� ���������� ������������� '����F��� � �%
���� ���� ��� ������� ���� ����� ������� ��� �!� �� ����� =(= ���������� ���������
������ � ����� � �? ������� #��� ����� ���� ����0�GL3 ��� ����0�3 �� � ���� �B�� ���
� � �� ������ "������ !� ��� ������� ! /����� ���� �� ���� ����� �� ������ �� �
8(= ��� ����� ����0�3 ��� ����0�GL3 �� �B�� �� �� ������ ����� ���� ���� ���� ��
!� ������� ! /����� ���� �� ���� ����� �� ��� ������ �� �B����� ���� �����%�������
�������� �� ��� ���� ������ ������� ��� �B����� ����H ����� �� ��� � ����� ������� ��
��� �����!� �� ������ �������
)���� ���� ���� F��� �������� �/������� ��� ��� ��������� �� ��� ��� �����������
�� ��������� �� ���� ���� �? ������ ��� �������� ����� �� ��� @'������ <�:A�
#�� ������ �������� �� ��� �� ������� ! /����� �� �� ������ ��� ���� ����� ������
!� �������� �������������� �� �B������ ���������+����� ����� ������ ���� ��� �������
���������� ��������� =� �B����� ��� '��� ����� ����� �� ',(8& ���������� I=K2;J ���
��� ��� ����� ��� '���� &��������� �� ��,' ���������� I,��25J� &������� '��� F���
����� �������� �B������� ��� �������� �� � �������� ���� ����� �� � ������ ��������
=� �� �� �� ������� ��� ���� ����� ����� ���� ��� � � ���������� �������� ���� ��
��� ���� ���� ��� ����� ��� �� �� � �� � ��������� .��� �� ��� ����� ����� �� ������ ���
�� � ��� ���� �� ��� ��� �� ��� ���������� ��� =� ���� ������ � ������ ���� ��� ��� ����
�� ��
��� ��� ��,' ��������� �� �� � ���� ���%����� ����� ����� �� ���� �� ��� ! /�����
���� �� ��� ��� ��� �� � ���� ��� ������� ���� �� !� ������������ =� ����������
���� �� ���� ��� �������� ����� ���������� ����� ����� ��� ���� �� � � ���� �����
������ �� ������� ��������� ��� ��� �� � ����� ���������� �� ��� ���� ������� �� !������
1;6 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 160: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/160.jpg)
Efficient Software Implementation
� � ��� ����� ��� ����� ���������� ��� ����� ���� ��� ���� ��� ������� ����������
��������� �� ���� ���� �� ����� �������� ���� ��� ��� ������ )�������� ��� �����
���������� �������� ��� �������� ��� ��� �� � ����������� �� � �������� �� !� ��� ���
���� ��� ���� ���� ��� ��� ������ (���� ����� ��� ����� ���������� � ������ �� ������
� ������ ���� ��� ��� ���� �� ��
#�� ��������� �� ���� ������ �������� �� ���� �� ���� ��� ������ �� ��� 8(= ��%
���������� #�������� ��� �B��� ����� ��������� �� ����� �� �� ��� ���� �? ���� (
������ ������ ��������� �� ���� !� ��� ������ ��� ! /����� ��� ���� ����� �� ����
���� �������� �� ��� ������� ��? ���� ��� ���������� ��������� $����� ����� ��� ����
������������ �� ���� �������� �� ���� �� ���� �� ������� ���������+����� ����� �������
1�)�9 ���������-�������� ��������
#�� ���������� ������!�� �� <�: ���� ���������� �� �������� �� I*��22 *,K�22J ����
� �������� "������ . /�� &������� ��!����� �� ��� ��������� ��� � �� ���� �����
7�B� �� ������� �� ������� � � ��������%��� ��������������
#� ������ � ��� ������ �� �������� ��� �������� ���� ����� ������� ������� ���
F��� ����� �� � ���� ��� ����� � ��� ������ ���� ��� �".� ��� ��� ��������� ��� =��
!�� �� ����� �� ��� ,�� = ����%�> �� ��� ��� ������ ��� �������� ( ������� ����
��� �� �� � !����� !���� ��������� ����� �� !� ���� �� ��� �������� "������ . /��
&������� �� ���� ����� #�� "������ . /�� &������� �� ������ � ��� ����� ���� ���
�". ��� �� ����� ��� ������������� ��������� �� ���� �������� ������������� ���
�". �� ���� �� ��� ��� ������ �� ���� ���� ����� ������ ����� �� ����� ) � ��������
������������� ���� ��� ��? ��� ��� "������ . /�� &������� ����� � ��� ����������
��� ������ �� ��������� �� ���� ��� ��? ��� ������ �������� �� ������ ��� F��� �����
�� � ���� �� � ���� ������� "������ �� ��� ��? ���� ��� �������� ���� ������� ���� ��
����� ����� �� !� �������� ���� �� �B����� ���� )� ��� ����� ���� ����� ��� �". ��
� � �������� ������������� �� ���������� � ���� ���� ��� �� �� �� �� ��� 1 ��� 6
������� =� ��� ��� �� � � ��� ������ ��� ��/������ �� ����������� ���� ��� �". ��
������ �� !����� ��� 1 ������
7����� ���� ��� �������� ���������� �� ��� �". ���� ���� �������� �� ��� �B%
�� ���� �� ��� ������� ! � ��� ��� ����!����� ����� �� ��� ������� ! /�� � �� � � ��
����� �� ������ �� � �� !� �������� �� ��? ��� ��� )' ��� �������� �� ��������� �������
������ '����� ����� � �������� ������������� ��� ��� ������ ��� ����� �� ��������� ��
��� ����� �����!� ��� �������� � �� !� ��������� !� �B������� ������� ���� ��������
�� ����� ������� �� ������� ����������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1;:
![Page 161: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/161.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
)� ��� ����� ���� �� ���� ������ ��� ���� ������� �� ��� (������ ������� ������
��� !� ��� ������� �� I*��22 *,K�22J ����� �� ������ � ��������� �� ������ ���
����%�>� ���� ��������� #��� ������� ��� �� (������ ������� ��� � ���������� ���
��!��� #�� F��� ��!� �� ��� �� �!���� ��� ������� ������� �� ��� ����G�� ���� ��� ���
����%�>�� #�� ������ ��!� �� ��� �� �!���� ��� ������ ����%�>�� .��� ��!�� ��� ����B��
���� ��� ������ ������� ������� �� ��� �����!� ����� �� ��� ��� �� ��� ������ @(������B
(A� ) � ��������� ��� ����� ��� ������ ��!� ! � ��� ��� F��� ���� =� ���� �������
��� ���������� �� ��� ���� � ������� ���� ��� ��� ��� ������ ������� ��������� ���
��� ������ ������� �� ��� ��� ����%�>�� �� ������ �� ���� � � �������� ������ ���
)' � �� ���� ��� ���� �� ���� ���� ������ �������� �� �� ����%� �!���� ������� ����
� �!�� �� ���� ��� ��B� ���� �� ��� ��� ��� ����%�>�� (���� ��� # . ���������� � �
�������� �� ���� ����� �� �B��� ���������� �� ������ ��� ��� ���� �� ����%�>�� "������
��� ������ �� ��� ������ ���� �� ��� ���� ���� ��� ��� �������� ������������ ����� ��
������ ��� ��� ����%�> �� ��������� ��� � ������ �� ������� �� ����� �� ����G�� ����
�� ��? ��� ��� �B��� ���������� ���� �� ��� (������ #��������� ��� � �� ��� �� <�6
��� �B������ �� '������ <�;�1� ����� ������ ���� ��� ������� �� I*��22 *,K�22J
��� ������� � ���� �� ���� �� ��� ����G�� ���� �� ��� ��� ���� �� ��� ���������P� ����
���� ������ ������ �� � ����� ��� �� ��� ������ ���� ��� �������� ��� #� � ����� ��
���� ���� � ��������� ����� ! � ���� ��� ����� �� ��� ���� �� !� ������� �� ��� ���
����� )� ��� �������� ���� � � ������ ���� ��� F��� ���� ����� ������ @���� �� �����A
�� � ������ ���� �� ���� ��� ��? ������ ��������� � �� ���� � ��� ���� �� ���� �� ���
����P� ������ �� �� ���� ������� ��� ������������� ���� ����� �� ��� ���� �� �� ��� ���
���� �� !� �� ��������� ��� � !��� �� ��� ���� ���� ��� ��� ����%�>� ����� �� !� �����
���� ��� F��� ������ �� !��� ��������
,�' ��������� ��������(
=� ��� ��� ��� ����������� �� ��� �������� � ��%������� ! /����� ������ ��� � ���
������ ���� � ������� ! /�� ��� ���� ��� �� ���� O �� ������!��� ��� ���� �� ��
��� ������ ������ !� ������ ������������ �� ���� ������� �� ������!� ��� ��� �����
����������� ��� ��� ������������
1�&�� ��%������� .������%���
=� �� �� �B�� ����%������ ��� ����� ������ !���� �� ��7# I��2;�J �� ���� �� �����
� &&%7$�( ���� 1< ����� ��� ��� ��� ��� �� ��� ������ � �������� =� ������ ���� ���
���� ��������������� ��� ���� ���� ��������� ������ �� ��� �������� ! /����� �������
0��� ���� �� ��� &&%7$�( ������� �������� � �������� �� ��� ������ ������ ���
1;; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 162: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/162.jpg)
Evaluation Methodology
��������� ��� � ;%��� � ������� � ��������� #�� ��������� ��� � <;%����� ����� �����
������ ��� ; ��� 6 �, ��� 6 �D'� ����� �� � ������ 3 ������� ���� ��� 1< ������� ��
��� � !����� ������ �� 3 ����� ��� ��� <; ��� ��� <; �, ������ ���������� �� ��� ���
� 6L%����� .#. ���� 6%!�� ��� ������ �� ������ 0��� ���� ��� � 6%��� :6%L!��� 1 >%
����� ��� � ;%��� 516%L!��� 6 !��� ���� <;%!��� ���� ��� � �����%!��� ������ =� ��
� ��� 6 !��� �� ��� ����������� ��� ���� #�� ����� ��� ��������� ���� � 6> �����
#�� ������� ��%���������� �� ��%���� �������� ���� ��� ��������� �� ��� ��%���� 1 �����
6 ����� ������ �� ��� ��� ���� ��� ������ �� � ������ ���� 6 ��� : ������� ����
���� ��� 6 16 95 643 ��� 621 ����� ������������ &��������� �� ��� ����� ������
�� ��� ���� ������ �B���� �� ��� ��!� ������� ����� �� ��� ���� ��� �� ��� ���
����������� ������ #�� ������ ��� ���� �������� ���� � ������%���������� ������� ��� ����
�� >('"� ��� ���� ����� �� �� ��� ������� �� '������ <�6� ,���� �� ������ ���� ���
������� �� ��%��!�� ������ ��� ������ =� ������ ���� �������� !��� �� � � �����������
���� ����� �� ������ ��������� ,������ ���� ��� ������� �����
�� ��� ��� ����� �� ��� ��� � �������� ��������� ��� ���� �������� ��� ��������
�� ������� ! /�� ������� ��� ��� ������� ����� ��� ��� ���������� �� ������ =� �����
�������� ������� ��� ����� �������� ����� � ���������� �������� @'������ <�:A ��������
������� �� �B����� ��� ����� �� !� ! /���� @'������ <�;�5A ��� ���������� ���� ����
��� ������� ! /�� @'������ <�:A� ( ��������� ��������� �� ������ �� �� �����+�� ���� ��
��������� :44 ����� ���� ��� � ����� �� ��� �������� ������� ��� ��������� � ���������
��� � ���� �� � ����� ;444 ������
1�&�� (�����������
=� �� � ��� �� �������F� ����������� ����� � ���� �������� �� ��� ���� �� ��� � � ����+%
�!� !� � ������+��� �������� #���� ����������� ���H (��� ���� ',0&��6444 I"��44J
�� � ��� #��� ���� ,������ I.�32J 9�� 7� ���� ",�%6 I>'"2;J ,7� ���� 7&'(
��� � ���� I�� 2;J� =� �� ��� ,����� ������+��� ������� I.>0�2<J �� �������� ���
���%����+�!� �������� ��� ������� ���� ��� ���� ����� ������+������ #�� �� ��� ��
���%����+�!���� �� ���� ��� ���������� ��� �� �� �� ������ ��� ���������� �� ������
!��� �� �� ������� �� ��� � ����� ��� �B���� ��� ���� ����� ��� �������� ����B��� ��
������� #�� ���� ��� ��� �������� ���� ���� �����B ������ G�� ���� ����������� ����
������ �� ����� �� �� ��� O �� �� ���� �������� ���� ������ ��� ���� �� ����� �������
�� ����� �������� ,����� ����� ��� �������� �� ���%����+�!� ���� ����� �� �� ���� %
����� ���������� ��� �� ������� ���� ����� ������� �������� ,����� ��� ������F�� �����
���� ������ ���� ��� ���� �� !� ����� ���� ��� ������� ! /�� ��� �� ��� ����� ����
�����
#�!� <�1 ����� ��� ���%����+�!� �������� �� ���� ����������� #���� �������� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1;5
![Page 163: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/163.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
���� ���� � �����%��%���%��� ������+��� ������� ��� ,����� ������ ������ ������� ��
��� ���� ���� ������������ #�� ��!� ���� ��� ������ �� ����� ���� ������� �� ��� ����
�@������ �B�� ���� ���� �� ��� ���������� @V#��?A ���� �D) �B� ���� #��� �� � �����
�� �!������ �� � �����%��������� ' � $��� 5 ����������� �� �� ������� 51�;V� #�� ��!�
��� ����� ��� � �!�� �� ����������� �� ����� ���� � ���� ������� �B�� ���� ��� �������
� �!�� �� ���������� ��� ���������� ��� ��� ������� � �!�� �� ����� ������ ��� ����������
����� ��� ��� ����� �� ��� ���� ��� ������ �� ������ ����� �� ����������H ���� �����
����� ��� ���� ����� ������ �� � ���������� �� ��� ����� �� � �� ��� ������� ���
����� ������ ������ @��� ���� !��� ���� ����� ��� ���A �� � ���������� �� ��� �����
����� ����� �� ��� �������� ( �� ��� ��� �������� 7��� ���� � ��� ���� ��������� ��
��� ��� ����� @'������ <�<A ��� ���� ����� �� ����� ��� �� ��� ���� �������� �� ���
��!��
� � &�=����-��*�� > + I + !���� �� !������ � �� ��+� A !����� 0� A������� �� �� ���� !�%� !�%� �� !��� ���� ��+� �>� ���� !��������
�� 0� �>�
/�� �� ���� 282 1 :6998 8:182 111 51 �4���� �-��� :55 $1 $�:8 546$8 5: 5: �4# �� �� (�� ��0� $$5 1 1$:: 1�999: 61 84 59"�� ��� �������� 5:9 :�� 89 1�589: $:$ 99$ 118
$�<2�<8�<1�������� ��2� ���� 241 28 158 559�4 �9 �5 �$3��� ���� �� ���� $15 4� $8666 2$$5 �� �� 15
�%���"� 21$ 14� 5$$6� 22569 114 628 95
Table 6.1. Application characteristics. In �� � and 9�� 7�, the data corresponds to unrolling the
loop 3 and 15 times, respectively.
#�� �������� �B������� ������ ������� ����� �� � �%��%����� 8(= ���������� @'��%
���� <�:A �� �B�� ��� ���� �� : ��� ����������� @���� �� ����A �� �� � ��� �� ������� ��
:4 ����� �� ���� �� ��� 34 ��� ����������� �� 9�� 7�� #�� �������� �B������� ������
@'������ <�:A �� ��� �B�� ��� �� ��� �� ��� �����������H ���� �� ��%����� 8(= �����%
������ ������ �� 9�� 7� ��� ��? ����� ������� �� � ��� ������� ��� �� �� �� �� ��� �����
������� �� �� ��� ������� ! /���
,�, ���������
#� ��� ��� � � �������� �������� ! /����� ������ ���� � ������ � ���� �������� ���
����� �� ������� ����� �B���������H ������ �� �B�� ���� ���� �� ��� �������� ! /�����
������ @'������ <�<�1A ������� �� ������������� ��������� �� ��� �������� ������
@'������ <�<�6A ��� ���������� ������� ��� ��� �������� ������ @'������ <�<�:A�
1;< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 164: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/164.jpg)
Evaluation
1�1�� -%���� � ������� �������� �� .4������� ��%�
=� ������� ��� �B�� ���� ���� �� � � ����������� ���� ��� ��/����� ! /����� ��������
)�� �� � � �������� ������ @+�A ���� ��� �� <�5%@�A ���� F���� F��� ������ ���� ���� �>��
#�� ������� ��� �� 8� ���� '������ <�;�3 ����� ��������� ��� ! /����� �� ��������
����� � ��� �� ��� �������� ��������� ��������� �� '������ <�;� �� 8� � ��� ����������
�� ��� ������� ! /�� ��� ��������� ���� �� ����� ����� �������� �� ����� �� ����� #�
������+� 1 �� ���� �� +� ��� ������� ! /�� �� 1% �������!� ��� �������� 1%
�������!� ����� ���� ��� ������� ! /�� �� ������ �� ��� 6%����� ��� ������ ! �
����� �� 1� ��� �������� � ��������� �������� �� ������ ��� ������� ! /�� �������
!����� �� ������ � ��� ����� �� ����� ��� �����!� ���� ������� ��� ���%��������� ���� ��
���� ���� ������� �� �������
��� �� <�3 �������� ��� �B�� ���� ���� �� ����� ��� �������� #�� ������ ���� '��%
���� <�; �� +� ��� ��� ��� ���������� �� �������� �� 8�� ��� ���� ���������� ��� !���
��� ������+�� �� 8� ��� !����� ���� ���� �B�� ���� �� ����� ������ @I����A �������
�� ���� ������ ��� ��� �� �� ������� ��+���� @8����A ���������+����� @+�� A ���
������� �� ���� ���� ��� ������ ������ @����A� ( ��B�� �������� ���� ���� ���
�B�� ���� �� �������� ������� ��� ���� �������� ��� �������� ����� ���� ����������� ��
��� ��� �� !� ����� ����� ��� � �!��� �� ��� �� ���� !�� ���� ��� ����� � �������
�� ��� ��? ����� �B�� ���� �� ��� ���� ���� � ��� ���������� ���� ����� �� ��� ���
������ �� ��� ����� ������ ����������
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Hw
Sw
Hw
Sw
Hw
Sw
Hw
Sw
Hw
Sw
Hw
Sw
Hw
Sw
��
��
���
�
��
��
���
���
��
�
MemorySyncHazardUseful
P3m Tree Bdna Apsi Track Dsmc3d Average
5.3 4.6
9.5 9.4 14.5 14.4
3.8 3.3
7.3 7.1
8.1 7.4
Figure 6.8. Execution time under different schemes for a 16-node multiprocessor.
&�������� 8� �� +� �� ��� ��� ��� �������� ������ ��� !� � � �������� ���������%
���� �� ��� ������� ! /��� #��� �������� �� ���� �������!� �� ,:� (��� ��� .���� #���
�������� ����� ���� ��� ���� ����� ������ �B�� ��� @I���� ����A ��� ��� ������ ������
��� � � �� ��� ������� ! /��� @���� ����A� (� � ��� � 8���� ��� ����������
)���� � � ������������� �� � ��%������� ! /����� �� ���� �/������H �� ��� �����%
� ��� �� �������� �� 9V ���� �������� �� � ������ ���%�������� ������ ��� �������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1;9
![Page 165: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/165.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
���� �� ��� �������� �����B���� �� ��� ������� ������� �� �� !� �B������� �� �����
��� �� ���� �� ���� ���������
1�1�� -%���%�������� ,��� ���� � (������� ��������
#� ���� � ����� ������� ���� � � �������� � ��%������� ! /����� ������ �� '������ <�;
�� ��� ����������+� ��� �� ���� �� �������� ����� ��������� ����� ����� �B�� ���� ���
������ ��������� =��� � ������� ! /�� ���������� ���������� ��� � �� ���� ��������
��� ! � �� ��� �������� �� ��� ��� !� ��� ������ ��������� ����� ������ ����� !����� �
����� ���� ��� !� � F��� ����� �� � �����!� �� � ����� ' �� � ����� �� �� �� ���������
������
#�� ����� ������ ���� � � �������� ���� �� ���� ����� ������ ����� ��� ����� ��
��� �� <�5� (� � � ���� ��� ��/����� ����� ��� �����!�� �� ��� ����� � ��� � � ��� �� !�
� F��� ����� ��� 6 ����� ������ ��� �B�� ��� @��� ���� ��� ����� ��� ������ ����G��A
�� ����� 1 �������� ������- �� ��� ����� �� � F��� ����� 14 ����� ������ ��� �B�� ��� ��
����� < ������ �������
�� �� ������� +� �� 8� �� ��� �� <�3 �� ��� ��� �/���� �� ����� ���������� ����� �����
�������� ������� ��G���� ���� �� ��������� �� I���� ����� ������ ������ �������� ��
���� � !�� � � �� ��� �!���� �� � �������� ���������� �� ���� ������ ������� ������
������ �������� � � ���� ������! ���� �� ����� ����� �������� ��G��� ���� �� �������� ��
8���� +�� ��� ����� #� �B���� ����� ������� �� ��� ����+� ��� ��� ���������
����������
��������� 50����� ='���� �
#�� ��� �� �� �� #�!� <�1 ���� �B���� ��� ������ �� ����� ����� �B�� ���� ���������
#�� �� �� ����� ��� � �!�� �� ����� ������ ������ �� � �������� �� � ����� ������
�B�� ��� �� ��� ������� !����� ����� ���������� ���� ����������� ���� � ��� ���������
#�� �B�������� ��� (��� ��� �� � ����� �B���� #��� ����� ��� ��������� ��� 11�<V ���
6�:V ������������ #���� ��� ��� ����������� ���� ���� �� �������� �� I���� ���� ��� +�
�� ��� �� <�3�
"������ ����� ������ ������ ���� ��/����� ������ ��� �� <�2 �����F�� � ��� ������ ��
��� ���� ���� ����� ������H ����� ������ ��� F��� @)����A���A ����� ������ ��� ��� F���
@)����<�� A���A ��� ��� ����� ������ @<�� )���A� #�� F� �� ����� ��� ������� ������
�� ���� ����� #�� F� �� ��� ��� !��� ���� ����� ��� ���%���� ����� ������ ����� ���
����� ��� ��� ��� ����� �������
��� �� <�2 ����� ���� ���������� �� �������� �� � F���%������ �� � � ���� ���� �/H (���
� ��� ,7� � ���� ���� ����� ������ ������ ���� ��� ������ ��� �� !� F��� ������
1;3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 166: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/166.jpg)
Evaluation
0
0.2
0.4
0.6
0.8
1
P3m
Tre
e
Bdn
a
Aps
i
Tra
ck
Dsm
c3d
Non_Inst
Inst. Non_First
Inst. First
Figure 6.9. Breakdown of dynamic stores.
�� � � ����� �� � �� ����� � �� �������� �� ���������� � ��������� ��� F� �� �B�����
��� ��� I���� ���� ��� #��� �� ��� �� <�3 ��������� ������������ ���� ���� ��� (���
������� ��� ���� �������� �� ����� ������ ����� ������ �� #�!� <�1H ��� ����� ������
������ �� #��� ��� ����� �� ��� �B������� �����
��!��" /��� ='���� �
#��� �������� �� � � �� �������� �� ��� ��� �!O���� ����� ������� ! /�� ��� ���� �>��
��� ���� �� ��� ������� ! /�� F��� #�!� <�6 ����� ��� ������� ��+� �� ��� ������� ! /��
������� ������� ��� ���� @&� �� 6A ��� ��� � �!�� �� ����� ��� ������� ! /�� @&� ���
;%5A� =� �� �B����� ��� ����� �� ��� ����� #�� �� �� ���� ��� ������� ! /�� ��+� ���
���� �� �!��� A��� �� �������� ���� � � �������� F���� ��� F��� ����� @'������ <�;A� =�
��� ��� ���� ��� ������ ����������� ��� ������� ���� ����� 64%;4 L!����� #�� �� ���
���� ��� � �!�� �� ����� ��� ������� ! /�� ��� �!��� > � � !��� �� �!����� ��������
�� ��� ������� ! /�� ��� ��������� ������� ���� � ��������� ���!� � ��� ����� =�
���� !��� ��� ������� �� � ���������� ��� ��� ��B�� �� #���� �� �� ��� �!������ !�
������ � �������� ����� ���� ���� � ��������� F������ � ����� 7��� ���� �� �� � ����
������ �� ����� �� �� !� ��� ��+� �� ��� ������� ! /�� ��� ���� �� ����� ��� ���� ������
�����������
� � H����- ��C�� ���� �� ���. I ���.� �� �,� H����- ��C�� + � ��������)*-���� ���-��� & ���-���
�/������� �� ��� + ���.� �/������� �� ��� + ����7����� ��� /�#� � �%���"� /�#� � �%���"�
/�� 52 6: 1�� 2�� 195 4�9���� �$ 92 4 5� 6� 8$�# �� 9:4 9:4 $ 18 :: :96"�� $�� 14$� $ 14 2 9:����� 15 15 $ 19 11 8$3��� 1� 1� 9 11 1198 $4:9
�%���"� 1$1 9:8 5�2 :8 5$55 155:
Table 6.2. History buffer statistics. The experiments are for 16-processor runs. The records of the
history buffer are 16 bytes.
)���� ���� �� ��� ������� ! /�� ��� ���� ���� �� �� �������� �������� ���� ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1;2
![Page 167: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/167.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
������ �� ������ ���� �������� ���� � ������ �� ��������� '���� ����� ������ ��� !� �����
������ �� �� ��� �B���� ��� ������� ! /�� �� �/��� ���� ��� � ���
#�� ������ ���� �� �!O��� �������� �� ��� ���� �>�� ) � �������� ��? ���� ���� ����
�>� ��� ����� �� ����� ����� ������ ���� ����� ����� ������������ �� ������� �� ��� ���
����� � ��� � � �� !� � F��� ������ #�!� <�: ����� ��� ������! ���� �� ����� ���� �>
���� �� ��� ���� 1 ���� ���� ����� �� ��� ��!� �� ��� � �� ��� �� ��� ���� 8�����
#�� ;. #����� ��� ����� ����� ��� F��� ��� ��� ����� ��� ����� ��� �!��� �����)9
A������� #���� ��� �� ��� ���������� �� � � �������� �������� +� ���� F���� ����
���� �>� @'������ <�;�;A #��� ���� ��� ���� 1 ���� ���� ���� �� ��� ���������� ���
��� ���������� �� 1 ���� ������ ���� ��� � � �� ���� �> ���� ������������ #�� �����
�� ��� �� ��� ��!� �� !� ���� ���� ����� #�� ���� ���� ���� ���� �> ���� � ��
������! �� ���� ��� 14V �� ��� �� ��� ���� ������� #�� �B������� �� (��� ����� ����
������! �� ���� ;4�;V ! � ��� ���� ���� ���� �� (��� �� ��� 1�41V� )���� �� �� ���
�B���� ���� �> �������� �� �/��� ���� ��� � �� �������
� � H����- ��C�� �1 �- ��� & H����- ��C�� �1 �- ���
���� �1 �� �1 �� /����� +� ���� �1 �� �1 �� /����� +�
/��� ���� �>� ���.=!' �� �>� /��� ���� �>� ���.=!' �� �>�
���.=!' F��� ���.=!' F��� ���.=!' F��� ���.=!' F���
7�������" 7�������" 7�������" 7�������" 7�������" 7�������" 7�������" 7�������"
/�� 448 85� 4$ �8 448 85$ 66 �8
���� 51�5 5111 �� �1 5111 5111 �� ��
# �� 2�9 2�9 2$ 2$ 215 215 29 29
"�� 1�1 �8� $�$ 958 5�1 �4� 555 5:9
����� 15: 15: :9 :9 196 196 :4 :4
3��� 1:� 1:� �� �� 1:$ 1:$ �1 �1
�%���"� 821 8�5 1�2 4� 869 8�: 62 62
Table 6.3. Effect of task IDs loads on the L1 miss rate. The experiments correspond to 16-processor
runs. ���� )9 and M���� stand for task ID and extended load, respectively. The history buffer is
recycled in all the cases.
#���� �B���������� ��� ���F���� !� ��� �� <�3� #�� F� �� ����� ���� ��� ����
+�� ��� 8���� ����� �������� ��� ������� �� �� �� ���� +� �� 8�� #�������� ��
���� �� ���� ��� ��������� ������ ��? ���� ��� ��� !� �������� �� ��� ������� ! /��
��� ���� �>� �� ��� � �� ����������� � ���
1�1�� (���������� '������ �� ������� ������
.���� �� ��� ������� �� � ��� �� ��� ������ ���������� ������� ��� �������� ! /������
'����F��� �� �������� �� � ������+������H ��� ���� ��+��� �������� !� ����������
F���%����� F������ ��� ���� ������ �������� �� ��� !� �������� ��� ������� ! /�� ��
154 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 168: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/168.jpg)
Evaluation
!�������� 1 ��� ��� ���� ������ �������� ���������� ���� ����%�> ������ !� ����
�B������ �����
5�!� ��& ,��������� ,�����&
) � ���� � �������� � ��%������� ! /����� �������� F���� ��� F��� ����� �� ��� ��
��� � �!�� �� ������� ! /�� ���������� @'������ <�;�;A� =� ��� �������� ��� !�����
�� ��� �� <�5%@�A ��������� ������ � ������ �� ��� ������� ! /�� !����� � ����� ������
������� #��� ������ ��������� ��� ����� ����� ���� ��� ����� �� ��� �� � F��� ����� ���
�� � ����� ��������� ��� ��� ������ ��+����� "������ ���� ��� ����� ��� ��� � �� �
F��� ����� ���� ����� ������ ��� �B�� ��� ���� !����� ��� �� �������� ����� ! /��� ���
����������
��� �� <�14 ����� ��� �B�� ���� ���� ���� ���� ��� �������� ����� �� �!� (��
!��� �� � ����� ������ ������ ������ � ������� #�� ������ �� �������� �� � � ���� �
+� ������ �� ��� �� <�3 ����� �� ���� ������+�� ��� ��%�!��� A���� ���� ��� F� ��
�� ��� ���� (�� �� �� ������ ��� �� ��� ���� �� (��� � �� ����� ���� A���� ��� ���
����������� ����� ��������� �� ��� �� <�2 ���� ����� ������ ������ ��� )����<�� A���
(�� �� ������ #���� ��� ������ ������� ��� ��� ����� ����� ���� ����� ������ ��� �B�� ���
I���� �� ������� �� �������� ���� ������ �������� ��� ��������� ���� �� ���� �� ! /��
�� ��� �� ������ �� ��� ����� �� �� �� #�!� <�6 @�!��� (��A ����� ��� ��� ��+� ��
��� ������� ! /�� ��� ����� #�� ������� ! /�� �� ��� ���� ; ����� ��� F����� ��+� �� (����
����� 8���� �� ��� �� <�14 ���� ��� �������� �������!� ��� ��� ����������� ���� ���
)����A��� @#��� 9�� 7� ��� �� �A ��� �� ��������� ��� ��� ����� ����������� � � ��
��������� �� ����� ����������� )���� �� ���� �� ���� �� ��� � �� F�������
0
0.25
0.5
0.75
1
1.25
1.5
1.75
2
Filt
er All
Filt
er All
Filt
er All
Filt
er All
Filt
er All
Filt
er All
��
��
���
�
��
��
���
���
��
�
Memory
Sync
Hazard
Useful
P3m Tree Bdna Apsi Track Dsmc3d
Figure 6.10. Effect of eliminating first-store filtering.
�"��& �����" ��%�� �� �"� ���& (�
'���� ��� ������� ! /�� ��� ���� ? ��� ���� @����A ���� ��� �������� �� �������
! /�� !����� ��� 1 ����� ���D�� ����� ����� �� ��������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 151
![Page 169: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/169.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
#� ��� �� ��� ������ �������� �� ��� !� �������� �� ��� ������� ! /�� �� ���
�������� ��� ������+������ ���� ������+� 1 �� ����H �������� ��� ������� ! /�� �����
�� � � ���� ��� ������� ������� ! /�� �������� �� !����� 1� "������ ! /�� ������� ���
!� ������� ���� ��� ���� ���� ��������� ���� �������� #�� ����� ��� ���� !� ���
��� ����� �������� #��� ������+����� ��� ��� ��� ������� ! /�� ��������� �� ��� �B�����
�� ���� !����������� #�� ��� ��� �� ��� �� #�!� <�6 ���� ���� �������� ������
��� ��� ��� ������� ! /�� ��������� ��� � ������������ #�� �� ��� ���� ��� �������
��� ��B�� � � �!�� �� ����� ���� ���� ����� �� �� ������� � ������� ! /��� #� ���� ��
����� ���������� �� ���� ��������� ����� ���� ���� � ��������� F������ � ����� #����
���������� ��� � �� ����� ���� ��� ���� �� ��� �� ��� �� ����� ��� �!������ �� ���
��� �� ��� ���� ����� � ���������
������� ������� ! /�� �������� �� !����� 1 ��� � ��� �� 1 �� ���� ����� � ��%
�����!� ������ ���� ��� ��������� !��� �� ����� ������ ��� !� � �� ������� (� �� ��
�� F�� ���� ��� ��� ���� 1 ���� ��� ����� �� ���� #��� ��� !� ���� ���� ��� ������� ��
#�!� <�: �!��� ;. #����� ����� ����� ����� ���� ����� @������� �� ��A ��� � ��
��/����� ���� ����� ���� <� ;. #������ )�� (��� ��� �������!� ���� ���� ������ ����
6�44V �� 1�44V�
#� ��� ��� �/��� �� ����� ������+������ �� ��� �B�� ���� ���� �� � � ��� �����������
���� 1< ���������� ���� � �� � ��������� @��� �� <�11A� =� � � ���� ���� �� ����� �
1 !����� ��� ��� ������� ! /�� @#� ��� <�#� �����������A ��� ���� �� ����� � �������
! /�� ������ @> ��� <�> �����������A� ��� ���� ���������� ��� !��� ��� ������+��
�� !����� ��� ������ @#��> A ����� �� � � !������ +� ���� ��� �� <�3� =��� �� ��
��� ���� � F������ �������� ��� ! /����� �� � ����������� @A���A ��� ����������
� ������ �� ��� ���� !��� ���� ��� (�� �������� �� ��� �� <�14 ��� (���� (��� ��� ���
��� ���������� ����� ��� ������ �� �������� �� ��� �� <�14 ���� � ��/�������
00.250.5
0.751
1.251.5
1.752
2.25
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
��
��
���
�
��
��
���
���
��
�
MemorySyncHazardUseful
Filter All
P3m Tree Bdna Apsi Track Dsmc3d
Filter Filter Filter Filter Filter
Figure 6.11. Effect of log recycling and L1 cache bypassing for logs.
#�� F� �� ����� ���� ��� � �����%� ��� �������� ! /����� �������� ��� � � !������
A��� ������� ! /�� �������� �� 1 !�������� ��� ��� ���� ��� � 7������ ������+�����
156 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 170: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/170.jpg)
Evaluation
��� ��� ���� � ��� #�� ��� �B������� �� (��� ����� 1 !�������� �� �/������� #��
������ �� ���� ����� �� (��� �������� ���� ������� ! /��� @#�!� <�6A ��� ���� �� #���
������ ����� ! /����� ���� ����� �B�� ���� ��B���+��� �������� 1 �� ����� "������
�� ���� ����� ��� ,7� ��� ���!������� �� !��� �������� ��� !�������� �� !��H ��������
������� ������� ������ ��� !���������� ����� ��� !� ��� �� ���� ���� �� ����� 6�
=� ���� ������� ���� �� ���? ��� ! /����� �� ��? ���� ����� ������+������ ��� !�
��� � #��� ��� !� ���� ��� ��� ��� ������+�� (�� �������� �� (���� 0����� 1 !��������
�� ������� ! /�� �������� ��� ��� ��� �� ���� ��� �� �� ����� � ��� �B�� ���� �� (���
64V �� ����� #�� ���!������� �� !��� ������? �� ���� ��� ������� ������
+��& 50������ (� ��
#� ��� �� ��� ������ �������� ��� ��� !� ����%�> ������ �� ��� �� �B������ ����
@'������ <�;�;A� =��� �B������ ���� ����� ������ ������ ��� ��� ���� � �!�� �� ����%
����� ����� ������ ��� ������ �������� �� ���� ���� �>�� "������ ��� ���� �> �� �����
��� �� �� �� ������ @���� � ������ ����� �� !� �������A� )�������� ��� ��� ���� �� !�
������� �� ����� ��������� ��� ���� ����� �� ����� #�� ��� � �� � ���� ���� �����
0
0.2
0.4
0.6
0.8
1
1.2
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec�
�����
��
�� ����
�
���
MemorySyncHazardUseful
P3m Tree Bdna Apsi Track Dsmc3d
Task ID Xload Task ID Xload Task ID Xload Task ID Xload Task ID Xload Task ID Xload
Figure 6.12. Comparing filtering with task IDs to filtering with extended loads.
#�!� <�: �������� ��� 1 ���� ���� ���� ���� �>� @���� )9 �� ���A ��� �B������
���� @M���� �� ���A� (�� ��/������ !������ ��� ������� �� ���� ��� � ��� ��� ����%
������� ����� � ���� �������� �� ��� ������ ���� ���� ����%�> ������ @&� ��� ;%5 ���
3%2A ��� ����� ���� ����� ������ ������ � �� � � ��� �� !� F��� ����� @��� �� <�2A� #��
��� � �� ���������� �� (���� ���� ��� ��!� �� ��� ���� �� �� �� ��� �� 1 !��������
���� �B������ ���� �� (��� ��� ��� ��� ���� ���� ���� 6�44 �� 4�3V�
��� �� <�16 ����� ��� ��� ���� ������ �� ��� �B�� ���� ���� �� � 1<%��������� �������
#�� F� �� �������� ��� ���� � ������ ����� ��� ���� �>� ��� F���%����� F������ @�����
)9A �� � ������ ���� ��� �B������ ���� @M����A� ��� ���� ���� �� ���� �� �����������
���� 1 !����� ��� �� ������ @#��> A ��� �� ����� ��� ���� �� ��� ��!� ���� 1
!����� ��� ������� ! /�� ������ @<�#��> A� ���� ��� F� �� �� ��� ��� ���� (���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 15:
![Page 171: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/171.jpg)
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
!���F�� ������ ���� ���� �B������ ����� #�� ����� ��� ����� ���� ����� �� �� 1
!�������� ����� �� ��� ���� ������ ���� 1 �� ���� ���� �B������ ���� �� ���� �����
'��� ���� �B������ ���� ���� ��� ������� �B�� ���� ���� �������!� �� ������ ��� ��
�� ��� ������ � ����� ��? ���� ��� �B������ �����
,�1 !�����(
#� � ����� ! /����� �� ���� ����� ����� ���� ���� ����� ������+����� �� �������� ��
��� ��� ����� !� ��� ������� ����� ���� ������ ����� ��� � � �� ����� ���� � �������
! /�� ����� ������ � ���������
#�� ���� ������! ���� �� ���� ������� �� ��� ������ ������������� ��� ��� �����
�� � �������� ��� � ��%������� ! /����� ������ ��� � ��� ������ ���� ��� � �������
! /�� ��� � �� �� ��� �� � ���� ����� �������� #��� �������� �� ���B������� ��� ��
������� ���� ������������ $���� ��� ������ �� � 1<%��������� &&%7$�( ��� ��������
�� � � �������� ������������� ��� � ��%������� ! /����� �� ��� 9V �� � ������ ���
�������� ��������� =� ��� �� �� ���� !�������� ��� ����� �� �������� ��� �� ��� ���
��������� ���� ��B���+��� ������ ��������
15; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 172: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/172.jpg)
��� �����
I.�32J �� .���� �� �� #�� ,������ & ! .���������H 0/������ ,���������� 0�� �%
���� �� ' ������� ����� )��/� :����� �� +�� ����� (���� ������ :@:AH5R
;4 �� 1232�
I.>0�2<J =� . �� 8� >��� 8� 0�������� �� K�� � �� "��G����� #� �������
�� �� >� ,�� � N� ,��� .� ,�������� � 8� �������� ��� ,� # � (�������
,������ 8���� �� ���� ��� "���%,���������� &��� ���� ���� ,������ )***
'����� 62@16AH93R36 >����!�� 122<�
I>'"2;J �� > / 8� '�����!�� ��� ,� "����� ",�%6 '���� �� (��������� ��� ����������
(����������� #������� 8����� &8,&%#82;;26 8��� $��������� 7����!��
122;�
I0 ,'23J L� 0�������� .�%"� �� ,� ,������� ��� �� '���� ,8�'�H (� ����������
(�������� �� ��� '���!� '����� ������� �� ,� ����� �� �� 2�� )��/� +���
������ �� 8����,����� '����� ( ��� �� 08,'(41$3 ����� 1;4R
151 ��!� ��� 1223�
IK, �44J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
�� #������� . /����� '���� ���� '������� ������ �� '���!� '��� �����
,�����+������ #������� 8����� &'8>%1531 $��������� �� ������ �� $�!���%
&�������� � � 6444�
IK, �41J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
����� #������� '������� ������ ���� '��� ����� ,�����+������ �� =���
���� �� ���� ,����� )���� ���� �� ��L�� ���� ���� )+'(46. � �
6441�
I"��44J �� � "������� ',0& &,$6444H ���� ���� &,$ ,���������� �� ��� 7��
����� �� )*** '����� ::@9AH63R:5 � � 6444�
155
![Page 173: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/173.jpg)
Chapter 6.Software Buffering Under Speculative Thread-Level Parallelization
I"L22J 0� "�������� ��� �� L������ =������ R ( '���!� ,��� ��� '�,�� ��
,� � �� �� %�� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4113 ����� 191R131 ��� ��� 1222�
I�� 2;J �� 0� .������ #�������� #������� 8����� ������ �� ��� (�������� $���������
�� "����� 122;�
I7(.�25J (� 7����+�� K� (�!�� �� .����� 0� L�� �� ,����� .� 8���� ���
'� ������� #�� ':��� '���!� '����� ������ � ������������ �� ,� � �� ��
.11% )��/� '���� �� ,����� ,� ����� 0)',,41%3 ����� 1R14 ( � ��
1225�
I,��25J &� ,����� �),+ )E )���� ���� +�� >������ 7�-� ��,' #���������� �� �����
���� &( '�����!�� 1225�
I,'21J ��&� ,��� ��� ��'� '��������� )� ,��������� 0B�� ����� #������� 8�����
", %21%53 "���� ,������ �!��������� ,�� (�� &( ��� 1221�
I��2;J ��0� �������� ��� 8��� ������ ��7#H ( ����� 0�� ��� 0����� '�� �����
�� '�����%������ � ������������� �� ,� � �� �� + ��� )��/� =������
�� �������� (�������� ��� +��������� �� '����� ��� �� ������ �����
+����� 0�(+'?�+/123 ����� 641R649 ��� ��� 122;�
I=K2;J >� =����� ��� #� K������� �� +,(>' ( ��� �� ������ E���� 1�
,������� "� 0������� &�/� 7��� 122;�
I*��22J N� *����� "������� ��� '��� ����� ,�����+����� �� >'� � �������������
,��>� #����� $��������� �� ������ �� $�!���%&�������� >��������� �� 0��%
����� ��� &��� ��� 0���������� ��� 1222�
I*,K�22J N� *���� �� ,�� ���� ���� K��+����� � 8� �������� ��� �� #������� (
��������� ��� '��� ����� ,�����+����� �� >�����! ��� '�����%������ � %
������������� #������� 8����� &'8>%1536 $��������� �� ������ �� $�!���%
&�������� � � 1222�
I*8#23J N� *���� � 8� �������� ��� �� #������� "������� ��� '��� ����� 8 �%
#��� ,�����+����� �� >�����! ��� '�����%������ � ������������� �� ,��
����� �� �� 2�� )��/� +�������� �� 8����,����� '����� ( ��� �
�� 08,'(41$3 ����� 1<6R19; ��!� ��� 1223�
15< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 174: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/174.jpg)
������ $
����������� ��� ��� � %� &
�� ���� ������ �� ���� ���������� ���������� �� ������� ��� ����������� �!������ !� �
� ����������� ������ �B�� ���� �� ����� ������� �� ����� ���� � ����� ����������� =�
���� ��� �� ���� ���������� �� ���!� ����� �B�� ���� �� ����� ���� ��� ���� �� ����+�
! � ���� � �����F���� ������ �� ��������� �� ������ �� �� ���� ����������+� ������ ��%
���� ����������� ���������� ��� ���� ������� ��� ���!�������� ���� ������ ��� ������
����� �� ��� � !���� ������ ����� �� ! �%!���� � ����������� �������� =� ���� ���
�������� �� ��������� �� � ����� �� ������+� ��� ��� ����� ���������� ���� ������ ��
���� �������F� ������ ) � � ����� �� ������ ��� �� � ���� ��� ��� ��� ������ ���� ������
�� ������ ��� ������� ������ ����� �� �� �� ��� ������� �� ! /����� ���� �����
����� ���� ���� ���� ����� ������%��� ������+������ =� ������ �� � ��B����� ��
���� ����� ����� ���������� ��� ��� ��� ��� ����������� ��� ���� �� � ��� ������
������ ���� � ������ ���� ����� ���������� 7�B� �� � �����+� � � ���� ���� �����
��� ������� � � �� �����
1�� ������ ���
6���� �������� �����
#�� ���������� ��� !������ ��� ���? ���� �� ��� ��������� ��� ��� ���� �� ������ ����
������ ����� ����������� ��� ���� ������������ #��� ��������� �� ���� ������ �� �
� ���������� ������ ����� ��� ������ �� ������ ������ �� ������
( �� ���� �� ���� ���!�� ���� ���� ����������� ���� �� ���� �� ���� ��������� �� ����
������ �� ���� � ������ ��������� ��� ���� �� ���� F��� ��� ���� ��� ��������������� ��
����� ����������� ������ ���� ��� ������� ��� ������� �� ��� �!� �� ���� ��� #���
159
![Page 175: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/175.jpg)
Chapter 7. Conclusions and Future Work
�� ���� ��� ���� �� � �������� ����������� ���� ��� �!� �� ������ ��� �������������
���������
=� ���� ����������+�� � � !��� �� ��� ', ('"%6 ������������ =� ���� ���� ��� ���
���������� �� ���� ���� ���� � ����� ��? ����� ������ ����� ��� �� ����B ��� ��������
=� ���� ��� ���� ��� ��� ��? ���� ������� #��� ����������+����� ��� !��� ���� �������
��� � �!�� �� ���������� ���� 1 �� :6� ) � ��� �� ����H
� >�������� �� ��? ����� ������� ���� �������� �������� �� ������ ������� ���
���� ������ �� ������������ #�� ������� ����������� �� ����� ��? ����� ���
������ �������� ��� :4V ;4V ��� 11V ������������ #�� ��������� 2V ����������
�� ���� ���� ���� � ������� ���� �� ������ �������+��
� ,������� �!����� �� �����%��� ����� ��� ��� ����B ��� �������� ���� �����������
����� ����� !��� 1V�
� 0B������� ��� ���� ������ �� ����������� �� � �����F���� �������� �� ���� ���� ����
� ������� ��/����� �� ��� ���� ���� �� ����� @5<V :4V ��� :5V ��� 8���B ���
��� 8�������� �����������A� #� � ��� ������� ��������� �� � !� ��� ��� �����
������������
� (������ ��� ����� �� 15V �� ��� � �!�� �� ���� ���� ��� !� ��������� ���� ���
������� ���� �� ����� ���� ���� ��� #��� ��� ����� �� �����F���� @;5�2VA �� $%���
��� �� �� � � �� ��� ��� �� ���� ���� ��� ��? ����� ��������
� ,���������� �� ��� �������� �� ��� � �!�� �� ���������� �������� #�� ��� �B��������
��� &������ ��� 8���B ����� ��� ����������� ���� � ������ ���� ��������%��%
���� ������ ������
� '�? ���� ������ ��� ������ �������� ���� ��� � �!�� �� ���������� ��������
(���� ���� ����������+����� �� ���� ����+�� �� � ����%�/������ �������� �����������
����������H '�? ����� #����� @#�A ��� &���� @ &A ��� &���� ���� )� ���� ��%
������� @ &�A ��� ��� &���� ���� )� ���� ��������� � � '�? ����� #����� @ &��A�
#���� ���������� ���� !��� ��� ���� �� � ! �%!���� � ����������� ������� ��� ���
��� ����� �� ���� ������ ��� � �!�� �� ���������� @���� 1 �� :6A� =� ���� ��� ���
��/����� ���� �� �����%��+�� ��� ��� ��� ���� �� ����� �� � � ��� ���� ������� #��
�����%��+�� �� ��� ��� ���� ���� !��� ������ �� ������� ��� ��/����� ���������H ��� ����
������� ������� ��� ������ ������ ��� ������� ���� ���� ��� ����� ��� #�� ��� �� ��
���� ��� ����� ����� ����H
� #�� ����������� �!������ ���� � ������ �� �������� ��������� ������� ���� ��
��� ���������� ���� �� ��� ����� ��+��
153 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 176: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/176.jpg)
Conclusions
� ( &� ���������� ���� 1< ������� �������� ����� !����� ���� � & ���� � ����������
��������� ����� ��� ��� ���� � �!�� �� ��������
� &�� ��� &� ������ �� !� ��� !���� �� ��� ��� ���� ������������ #����� ��� !���
�� &� ��� &�� ����������� ��� ������� ��� ����� �� �B�� ���� ���� ������� ��
��� ���� ������ ����� � �������� ��� �� 2�29V 5�4:V 6�5;V ��� 4�;:V ��� ; 3 1<
��� :6 ���������� ������������
� (� ��� � �!�� �� ���������� �������� ��� ����������� !���F� �� � ������ ����
�������� ��� ��� ���� �������� �� ��� ���� ������ ����� � ��������H �� 96V �� ���
����� ��� :6 ���������� ��� 54V ��� 1< ���������� ��� ����������� �� � ������ ����
�������� �� ���� ���� ��� ����������� �� ��� �? ������ ��� ����� � ��������� ���%
��� �� ���� ������ �� ���������� &� &�� ��� #� ���� �������� ��� �B�� ����
���� �� 3�:V 2V ��� 16V �� ��� ������
� '���� ��? ����� �������� ��� ������� ����������� �� ��� � �!�� �� ���������� ��%
������ �� � ����� ���� ��� ��? ����� ��������� ��� � !� ������������ �� ��������
�� �� ������ �� !� ����� ��� � ���� � �!�� �� �����������
6���� ������������ ����������
,�����+����� �� ��� ����� �� � ������� �������������� �� ���� ���%����� �������F�
������ '����� �������� �������� ��� �� �B������ � �����F���� �������� ���� ��� �������
"������ �� �� � �� ���� �� F�� ��� ���������� ��������������� #��� �� ������� �� �
�� ��� ���� �� ������ ��� ������� ������������ �� �������� ����������� ��� �����
������+����� ��������� ��� ��� ����!��
=� ������� � ��� ��������� �� � ����� �� �����% � ����� ��� ������ ���� �� ��
,������ &���� ��� 8�� ����� @,& 8A� #��� � ������ ����� ��� ������ ����!� ����
�B�� ���� �� >�����! ��� '����� ������ @>'�A � ������������� #�� �������� � �%
���� �� ����� ���F��� �� ��� ��������� �������� �� � >'� � ����������� ��� ��� !�
���������� ���� � ��������� ��������� �������� @"�A �� � ���������!� ���������
�������� @��BA�
#�� ���� ���� �� ,& 8 �� �� �� ���%�������� ����� ���� �� � ��������� �������
������� ����� ���������� �� �� ��� ��� ������ ��� �� �� � ��� ������ =��� ��� �����
���� ��� �������� ���� ��� ����� ����� �� �� ��� ��� � ���� ���� ��� ������ ��� �����
�� � �� ������� ,& 8 ��������� ��� ���� ��� ��� F�� ����� ���� ���� ������� ��%
����� �� ��� ����������� �������� ��������� ���� �� ��������� ��� ! /���� =��� � �
�������� � ����� ����� ��� ����� ��� ����� � F�� ����� G �� ���� ���� ����� � ����
����������� �� ��� ����� ��+�� ) � ���� ���� ����� ���H
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 152
![Page 177: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/177.jpg)
Chapter 7. Conclusions and Future Work
� '�� ������ ���� 1< ���������� ����� ���� ��� "� ������������� �� ,& 8 ��������
�� ������� �����% � �� 9�< ��� 1< ���������� ���� ��� ��B ��� �������� <�; ��� �
��������%��� ������������� �������� 6�9�
� '�� ������ �� 1 ; 3 ��� 1< ���������� ���� ���� � � ,& 8 ��������� @��� !���
"� ��� ��BA ����� �� �� ��� � �!�� �� ���������� �������� ���� � ��������%���
������������� ����� ������
6���� ����� �������� �� ����������� � ����� ���� ��������������
�� ��� �����B� �� ���� ����� ������%��� ������+����� �� ���� ��� ��� �� ��� ���!��
�� ! /����� ���� ����� ������ ) � ������! ����� ���� ��� ���%���H � ���� ��B����� ��
����������� �� ! /�� ��� ������ ���� ����� ����� ��� ��� ������ �� � ��������%���
! /����� ������ ���� ����� �� ��� �� � ���� ����� ��������
) � ��B����� ��� ��� � ���� ���������� �� ��� �������� �� ��������� �� ��� � � ��
����� �� ������ ������ �� ��� �����F�� ������� !���� �� ��� � ����� ��� � ���� �����
��� ��������� =� ������� � ������/ ������� ��� ������� ����������� ��� ����� �� ���
��/����� ���������� ���� � ����� ��������� ��� � ��� �� �������F� ������������ #��
����������� ���������� �� ��� ��/����� ������� ���� ��������� �� ���� ������ @(��A
������H
� #�� � ����� ��� � ���� ����� ��� � ����� ������� �� ��� ����%�/������ ����� ���
����������� �� ������ �� ��� ��� �������� ���� � ����� ��� � ����� ���� ���� ���
�����B��� �� ���� ���� �� ��� ��� ��? ���� ��� � ���� ����� ��� � ���� ���������
� #�� � ����� ��� � ���� ����� �� ���� ����%�/������ ���� ��� � ����� ��� �+� ���%
��� ������ #�� ��� ����� �� �B�� ���� ���� �� ������H :5V ���� � 65V ��� ���
��� ���� ������������ � ��������� ��� �������� �����B��� ��� ������ � ����
����� ��� �������� �� �����
� #�� ����������� � � �� � ���� ����� ��� �������� ��� � � �� �+����� ��� �����
���������� ������ ������ �+����� �� � ������ � �������� � ���� ����� ��� ���%
����� ��� ��� �B�� ���� ���� !� �� ��������� 64V�
=� ���� ��� �������� (�� ������� ���� � � �� ���� ������ @���A ��������
#�� ���� �������� (�� ������ ��� ��� � �������� � ���� ����� ��� �������� ��� �+�
���� ������ ����� �� ���� ����������� ���� �������� ������� ��� ���� �B������� ���
������� ������ ���� � � �� ���� ������ @���A ������� #�� ��� ������������ �� ���
(�� ������ ���� �������� �� ��� ��� ������� ������� ���� ��� ����������� ����
1<4 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 178: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/178.jpg)
Future Work
��+�!� ������� ���� ���%��!����� ��� �����!� �����%�������+����� �������� ���� � �
������ �� ��� ����� ��������� �� ��� (�� ��������
) � ������ ������! ���� �� ���� �����B� �� ��� ������ �� � ��������%��� ! /����� ������
��� ��� ������� ���� � ������ � ���� ����� ��� ��������� =� ���� ��� ���� ������
�� ��� ���������� ������� ���� �� ������� ��� �� F�� ����H
� �������� F��� ������ ��� �����F����� ��� �� ��� �B�� ���� ���� ��� ���� �����������
��� �� ���� ��� �������� ��� �B�� ���� �� ����� ����������� ���� �� ��� ���� ��� #� �
�� ��������� �� �� ���
� �� ������� ! /��� !����� ��� 1 ����� �� ��� ������� ��� �������� ��� ��� ���%
��F����� �� ��� ���������� ��? ���� � !������� ! /������ �� ! /����� �� ��� ����
���? ��� ����� ����������� �� ��� ���� �� !� ���� ��� ! � ����� ���� �� ���
�������� ��� �B�� ���� ���� �� ��� ��������� �� �� �����
� 0B������ ���� �� ��� ��� �� �B�� ���� ���� � �� ��� ����� �� ��? ���� �B���
� ����� �� ��������� ��� �� �� �����
=� ���� �������� � � ��������%��� ! /����� ������ ���� � ������ ��������%���
������������� ��� �� F�� ���� ���� �� ���� �� ���� ����������� �� ���� ��� � 9V
�������� ��� ������� ���� �� ��� �������� �����B���� ��� ��� ���������� �� ��� �
�������� ������������� ���� � ��� ������ � ���������������H F��� ������ ��� F�����
��� ������� ! /��� ��� ������� ��� !����� ��� 1 ������
1�� 7����� *���
7�B� �� ���� �� ��� ���������� ���� ��� � ��� � � �� �������� ���� ��� ���� ���� �� ����
�������
=��� �� ����� ����������� �� ���� �� �� ���� ��� ���� ����������� ����� �� � ����
���������� �� ���� ���� ���� � ������� ���� �� ������ �������+�� #� � ��� �������
��������� ���� �� !� ������ (�� �� ����� ���� ', ('"%6 ����������� ��� ���� ��
���������� ��� ���� �� �� � !� ������ �� �B���� ��� ���� �� ����������+����� ���
�������� �������� �� ����� ����� ��������� )� ��� ����� ���� �������� ���� �������
�� ���� ���� ��������� ����� ���� ��������� � ���� ���������� ���� '8(� �� ����
>8(�� �� ���� �����B� �� � ������������ �� � ���� ��� �������� �� ������ �� ��� ���
��� �� ���� ��������� �� ��� ������ ����������� ��� ����� �� ��� ����������� ���� �
��� ����������� ������ ��� ������� #��� �� �� ��� � ��� �� ��� ������+������ �� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1<1
![Page 179: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/179.jpg)
Chapter 7. Conclusions and Future Work
������ �� ��� ��������� ��������������� ���� �� � �������� �� ��� �� ��� !��������� ��
������ �� ��� ��������
(� ��� '��� ����� #�����% ��� ,�����+����� �� ����� ���� �� �� � ���� ���������
�������� ����� "������ � ����� �������� �� ������ �� ��������� ��� ��� ������+���
������� ��� ��� ���� ����� �������� �������� �� ���� �� ��� �B���� ��� �������� ���
��� ������� �� ���� ����� ������+������ ���� ���� ���� ����������� �� ���� F�� �� ���
�� �� �� ��� ��� ����� ��� �� ����� �� ���������� �/���� ��� ����������� �� ��� �� ������
��� ���� ���������� ��+� ����� �� ��� ������ ��� ����� ��� �� ����� ��� ��������� ! �
����� ��� ���!�� �� ���� ���� �� !� �? ����� �� ���� �� �� ����������� #� � ��� �������
�� ��� ��+� �� ����� ������ �� ��� ������ �������� �� ��� � ����������� ����� ���
���������� �� ����� �� � � ��� �� ��� ���������� ����������� ����� >������ ���������
��� ��� �� F����� ��� ���� ���������� �����%��+�� )� ��� ����� ���� �� ��� ���� �� �� ���
����� ��� ��������� �� ���� ����� �B�� ���� ��� ����� ����� �� >'� �������� #��������
� � ��� ����� ����� �� !� �B������ �� ����� ����������� ��� ������� ����������� ���
�������%!���� ����������� ����� ���� ���� ����������� ��� !� �B�������
����� ��� ���� ���� ���� ��� �������� ! /����� �� � ���� ����� �� ��� ���� ���
�����B��� �� ��� �������� ��������� . � ���� ���� ����� �� !� ���� �� ���� ���� (
�����!� ���� �� � !� �� �� ��� � ����������� �����!������ �� ��� ��� ������� '�� ��%
��� � � ����������� &���� @��� ��� "����%�������� ���� T���A �� ����� �� ������ ���
����� ������ �� ����� ��� ����������� ! /�� ���� ����� ����� ��� �� ���
1<6 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 180: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/180.jpg)
�""���5 �
!"��������� �������� +�� ������8�9 ���( 7�� ( ���
#��� �������B �B����� ���� ��������� ������ �� ��� ���� ����� ������� ��������
��� � >�����! ��� '����� ������ @>'�A � ����������� ������ �� I*��22J� #�� �������
�� ��� ��� ���� ����� ������ ��� ������+����� �� ����� ���� ��� ������� ������ � �
����+�� =��� ���� �������� ��� ������� �B������ ����� ���� ��� !� �B�� ��� �� ������
(� ����� �B�� �� ��� ���� ����� ������� ������ ��� ������ ����������� ������ ������
#� �� ���� ��� ���� ����� ������� �B����� ��� ������������ �� ��� ��������� ��������
"������ ���� ��� ��������� ������� ����� �� ��� ���� ����� �� ����� ���� ���� �������
����� �� ��� ���� ����� �� :6 !�� ����� ���� �� ��� ������� �� �� �������� #��� �����
���� ���������� ��������� � � �� ���� ��������
�� ���� ������� ����� ��� ��������� ����� �� �� ����������� =��� � ���� F������
�� ������ !� ���������� ��������� ��� � ����������� ����� ���� ��� F������ ��� ���%
������� "������ �� �� ����+� ���%��!����� ��� ��������� ���� ��� ��� ���� ���� ���
����H �� ���� �� �� �B�� �� ��� ��B� ����� ��� �� 9�1%@�A ����� ��� F������ ����� @�A ����
������ ������� 0���� ���� � ��������� F������ � ���� �� ����� �� ������� ��� &�����
,���� @&,A� �� �� � ������ ������ ����� ��� ������ �� � ���� ��� �� 9�1%@!A� �� ���� ���%
���� ���������� � ���� ���� ��� ������ ��� ���� ������� �� G �����H �� ����� �������
�� ����� �� � ������ �����!� ���� ��� '����� ,�����
FC F U U
task−ID
C F U U
Increasing
F
(b) Commit Point Advance(a) Parallel Execution
C C C C: Committed Task
Increasingtask−ID Commit Point
U: Unfinished Task
F: Finished TaskU F
Figure 7.1. Sliding commit of tasks.
#��� ������� ��� !��� �������� �� � >'� �����B� ��� ��������� ���� ������ �!� �
� ����� !��� �� �� �� ��� ����� ��� �� �� �� ����� #�� ��� ���� ������ �� ��� ���� ��
����� ������ ��� !��� �� ������� ���� ��� �� �� ���� ������ �� ��� ���� ���������� ���
��������� ���� ��� �� ��� ��? ���� #�� ������� ��� ��� ���� ���� ����� ������ ��������
������ !� ����+�� �� ������ ���� @��� �� � ��� �� �� ���� ����������� ������ �����A
��� ������! ��� ����� ��� �������� �� � ��� ����� �� ��� � ������������ ,������ ����
�� ���� ������ ��� ������� �� ��� ������ �� ��� ���� ���� �������� ��� ��������� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1<:
![Page 181: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/181.jpg)
Appendix A
��� ������ �B�� ���� #�� ������ �� ��� ���%����+�!� ���� �� ������ ���� ����� ������
���� ������ ��������� ����� ���� ������� ��� ���� ����� ������� �������� ��� ��� ���%
������ �������� ��� ���� ��������� ������� �� ���� =� ��� �� � � %��� ���������
�����������%!���� ������ �� ��� �������� ��������� ������� I&�93J� &�������� ������
��� ��� ��� �� ��� ��� �� ��� ��� ��� ����� ���� �������� ���� ��� ���� ����� ��������
������� �����!�� ��� ����%������� �� ����� ������ ����������� �� �� �� �B����
����� "������ ���� �� ��� ������������ �� ��� ���� ����� ������� �� ��� �����������
�������� �� ��� !�� ������ �� ��� ��������� ��� ��� ��� �� ������� ��� � ������ �� !����
� � ���
#��� ������� ��� ��? ���� ���� �? ����� ���� � �%�� ����� 8(= ������������ ��
��� �������� =(8 ��� =(= ����������� ��� ������ � ������� ��%����� 8(= �����%
�������
#� �������� =(8 ��� =(= ��+���� ������ �� � ���������� ��� ��������� ���� ��%
������� ��� ������ �� ����� ������ ����������� #��� ������ ���!�� � ���� �������� �� �
�����!� �� �B��� �� ��/����� ������� � ��������� ���� � ����� ��� �� �������� ���� �
����� �� �������� �� !���� ���� �� ��� ���� �� �� ��� ������ �� ��� ������ �� ��� ���
����� #��� ��� ���� �������� ���� ��� ���� ���� ��� �!���� ��� ���� ����� "������
����� ����� � ���� �������� ��� !� �������� � �%�� ����� ���� � ����� �������� ���
������� ��� ���� �� �� ��������� ��� ������ ���� �� ��� ���� ��� �� ��� ���� ��������
�� ���� ������� �� ��� �����!�� =��� ����� ������� ���� ��� �/������� �������+�� ���
������ ��� !� �B�� ��� !� ��/����� ���������� �� ��� ����� ����� � �� ���� =(8 �� =(=
������������
#� ������ � ������� 8(= ����������� �� �B����� ��� @� ��� �� � �����!� �� �
���� ���� �� ��� �������� !� � ����� �� ��� ���� ����A �� � �����!� ��� �� ������� �
��� ��� �� ��� ���� ����� #�� ����� ��������� ������� �� ����F�� �� F�� ��� �������
������� ���� ��� !� ������ ������ �� ��� ������ ������ �� ��� ���� �� �� ��� �� ���
������ ����������� )��� ������ ��� ������� � ����� ��� ������� �� ��� ��? ������ =���
���� � ����� ��%����� 8(= ����������� ��� �����F�� ���������
�7���� �������
#�� ������� ���� � ��%������� ������� ��� ���������� �����%!���� �� ��� ����� #�
� ����� ����� ���� ��� ������ ���� ��� �� ��� ��� ������ �� ���� ������ ���� �����
������ ��� ��� ����%�>� �� ����G�� ���� ��� � ������ "������ . /�� @�".A� #��
�������� ��� ������ �� ����� ��� �� ��� �� ��������� !� ��� >�������� &������� ����
��� ��� �� �� (������ ������� ��� �� =� �������� � ��� ������� �� � ���
1<; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 182: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/182.jpg)
.3 �����)9�
#� �������� ����������� ��� ������ ����%�>� ��� ���� ���� ������ �������� �����!� ���
���H �� >.�� ����� ������F�� ��� �� ����� ���� �� ��� ������ ���� ��� �B�� ��� ��
�B����� ��� �� ��� �����!� ��� ���= ����� ������F�� ��� ����� ���� ���� ��� �������
�� �� �� ��� �� ��� ������� �� �������� �� � ����� ���������� �����%!���� �� ��� ���� �
������ �� =9��� ����%�> �� ���� ��� ���� �����!�� #��� ����%�> ������F�� ��� �� �����
���� ���� ����� �� ���� �����!� ��� ���� �������� �� �� ��� ����� #���� ����%�>� ���
���� �� ��� ���� ������ �� ��� ���� �����
'��� ������ �������� �����!�� ��� ��� ���� ������� ��� ���� �����!� � ���������
������ ��� ������� ����%�>� ��� ���� �� ��� ��� ������H ,�� >.�� ����� ������F�� ���
�� ����� ���� ��� !� ��� ��� ��������� ���� �B�� ��� �� �B����� ��� ��� ���� �����!�
��� ,�� = ����� ������F�� ��� �� ����� ���� �B�� ��� !� ��� ��� ��������� ���� ���
������� ���� �����!� �� ���� '����� ��� ������� ����%�>� ��� �������+�� �� +��� !����� ���
���� ����� ������� �������
����� �� � ����� ��� �� �������� ���� ��� ��� ������ ����� ���� ���� � �������
�� ��� ��� ����%�>�� '����F��� ��� ���� �����!� � >��.�� ��� � =�� !�� ��� �����
#���� !��� ��� ������ ���� � ��� ���� ������� #�� >��.�� !�� �� ��� ��� �� ��� F���
������ �� � ���� �� � �����!� �� � ����� #�� =�� !�� �� ��� ��� F��� ���� ��� ���� ������
� �����!��
-3 ?�J�� (� ��� (���� ������� �����
#��� ������� ����� � �����%������ ���� �� ���� ���� ������ ����� ����� ��� ����G��
���� ����� � ��� ���� �� ���� �? ������� #�� F��� ���� ���� � ����� ��� ����������
���� ������ ����F�� ���� �� �������� ���� ��� ����� �� �������� �� !���� ���� �� ���
���� ��� ��� ��������� ������� � ���� �� ��� ������ �� ��� ��� ���� ��� ������
��� ����� =��� ���� � ����� ��� ��� ����G�� ���� ��� !� ���������� �� �� �B������� ��
��� ��� ������ =��� ������ � ��? ��� ���� ��� ��� ��������� �� � ������ ��? ��� ����
��� ���� ������ �� ��� ��� ����� ��� ��� ����G�� �� ������������� #�� ����G�� ����
�� � ��� ��� ���� �� �� ��� �������� �� ����� ����� ������ � ���� ���� �B�� ����� #���
������� �� ��� ������ ����� �� � ���%�B����� ��� ���� ��� ��� ��������� ��� ������
�� �� �������� ���� ���� ��� ���� ���� �� ������ �� ������� �� ��%����� 8(= �����������
#� ������ ��� ��� ����G�� ���� �� ������� ������� ��!� �� ������� #��� ��!� ����
� ������� ������ ������� �� ��� ������� ��� ������� �� ��� ���� ���� ������ #� � ���
� ����� ������ ���� ������� @',(A ���� ��!� ����� � ������� �� ��� � ���!� ����G�� ����
���� ��� ������� ������� �� ��� ������������� ���� �� ��� ����%�>�� 7����� ���� ���
��� ����� �������� ���� ���� �� !� ���� �� ��� ����G�� ����� �� �������� ���� ���� ���
� ������ ��!� ��� ��� ������ �����!� ���� ��� ����� ����� #��� ������ ��!� ��� �
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1<5
![Page 183: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/183.jpg)
Appendix A
������� �� ��� ������ ����%�>'� .��� ��!�� ��� ���������� �� ��� (������ ������� ��� �
�� ���� ���� �� ����� �� ��� �� 9�6�
Physical AddressFrom Processor
Overflow
Task−IDs
Area
PmaxR1stAddress
SharedPage PMaxW
Address Mapping Module
Buffer
Shared
Task−IDs
Memory
History
Local
Data
Private
Shared &
SPA
SPA
in each node
Physical Memory
MaxR1st MinW
SPA
MaxWDisp
Figure 7.2. Address Mapping Module.
73 ����������� '� ����
#� � ����� � ���� �������� �� � ����� �����!� �� ��/����� ������ � ����� ������ �� ��
������� (���� � ��������� ������ ��� ��� ��� ��������� �������� �������� � ����%!� ��
����������� ������� ��� ��������� �������� ���������� �� ��� ������ ���� � ���������
�������� #�� ��������� �������� ������ ��� ��� ����%�>� �� ��� ���� ������ ��������
���� !� ����� �� ��� (������ ������� ��� � ��� ���������� ������� ���� �� ��� F���
����� �� ��� ���� !� ��������� ��� ��� ,�� = �� ��� �> �� ��� � ����� ���� !����
�B�� ��� !� ��� ��� ���������� �� ,�� = �� ���� �� ����� � =���A��� ������� �� ���
���� ��� ���� ,�� = �� ��� � ����� ����%�>�
23 '���������� =���#� � �� �� 8��
#� � ����� � �%��%����� =(= ����������� ���������� �����%!��� � ����� �� ��� �� ���
����� ' �� � ����� ������� ��� �� �� �� =9��� ��� ���� ������ �����!� �� ��� �����
8����!�� ���� ���� ����%�> ����� ��� � �!�� �� ��� �� ����� ���� ���� ����� ��� ������
��� ���� �������� �� �� ��� ����� =��� � ����� ��� �� �������� �� ��� ���� ���� �����!�
����� ���� ��� ,�� = �� ��� ���� ��������� #��� ��� ���� �����!� �� ��� ��� ���
,�� = ��� �� =9��� ��� ��������� �� ,�� = �� ���� ���� �� =9��� ��� ��������
�����!� �� ���������� )�������� ��� �����!� ���������� ��� ���� �� ���� ��� �� =9���
�� ��� �� ,�� =�
1<< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 184: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/184.jpg)
%3 ���� 8����� #�� 0�8#3
'���� ������ ����� ��� �B�� ��� �� ��� ���� ��������� � ��������� ��� ��� � ! /�����
� ���� �������� �� ��� ���� �����!�� �� ���� ���� ��� ��� ������� ��� ��� ���� ���
!� ��� �� ����� ���� ���� ��� �� ��� ��������� �� !� �� ��� ����� �� ����G�� ����- ���
������ � ���� ��� ������ �� � ������ ������� ! /�� @�".A ����� �� ����� �� ��� ���
������ �� ���� ����������
=��� � ���� �� �!� � �� ������� � ������� �� � �����!� ���� ��� ������� !� � ������ �
���� ���� ��� �� ��� ���� ��������� ��� �� ������� �� ����� �� �� ����� �� ��� ��� �".�
#�� ����������� ���� �� ���� �� ���� �� ��� �� �� � !����� !���� ��������� ��� �> �� ���
���� ���� ���� ��� ��� �� � ��� ��� ������� �������� ( ��� ������� ������� !� � ����
��� ��� ��� ��������� #�� ������ �� ���� ���� � ���� ������� � ��� ������� !�����
���� ��� �� � � ��� ������� �� ��� �". ��� !� ��������� ��� ��� ������ ��� !� �� ����
������������������������������������
������������������������������������
����������������
Memory History Buffer
ValueAddr
NextEndOvflw
��������
��������
��������������������������������
������
������
������������������������������������
������������������������������������Task ID
Task j
Sector
0
1j
Free Sector Table
Histroy Buffer Controller
Task Pointer Table
Overwriting
i
ProducerTask ID
ValidTask i
Figure 7.3. Per-processor structures required for the Memory History Buffer.
( ��� ����������� �� ��� �". �� ������ �� �������� ���� � ������� ! /�� ��������
����� �� ��� �� 9�:� #��� ��� � �������� � #��� ,������ #�!� ��� � ���� '����� #�!��
=��� � ���� ������ � ����� �� �� ��������� �������� �� ����� �� ��� #��� ,������ #�!�
��� ��� ������ �� ��� ������� ! /��� ���� ������� ��� �!������ ���� ��� ���� '����� #�!��
#�� �������� �� ��� #��� ,������ #�!� ����� �� ��� 7�B� ����� �� F ��� ��� 0�� �����
�� ����� ��� ����G��� �� ��� ���� ����� ���� ������� ���� � ������ ������� ������ ��
��������� �������� ��� ����� �� ��� ������ � ��� ���� ��� )���G�� !�� �� ���� #�
������ � ��� ����� ���� ��� �". ��� ���� ����� ������� � �� ������ ���� � �������
�� �!� � �� !� ���������� )� � ����� ��� ��� =�� !�� �� ��� ��� ������ �� �������� ��
��� =�� !�� �� +��� �� �� ��� F��� ����� �� ��� ���� �� ���� �����!� ��� ��� �� �� � ��
����� ����� �� !� ���� �� ��� ������� ! /�� �������� �� ��� ��� ����� "������ �� ���
����� ������ ��� ��� ,�� = ����%�> �� �������� �� ��� ,�� = ����%�> �� ��� �����!� ��
����� ���� ��� �> �� ��� ���� ��� �� �� � ����� �� !� ���� ���� ��� ����G�� ���� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1<9
![Page 185: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/185.jpg)
Appendix A
����� ���� ��� �".� ����� ����� �� � ��� ����� ���� �� �B���� ���� ����� �� �����
����� �� !� �������� �� ��� �". �� �� �B����� ���� ��� ���� ��� ��� ����%�>� ,�� =
��� ,�� >.�� ��� �������� 7����� ���� � ����� ���������� ��� ���� �� ��� !������ ��
���� ����� ��� ���������
����� ��� �� 9�; ����� ��� ��� �� ����F������� ��? ���� �� ���� ���� !� ��� �������
���� ����� ���������� #�� ���������� ����F�� ��� ��� ��������� �������� ��� ���
����� ����� �� �������� ��� ��������� � �� � ����� ������ ���D����� ����� ����� ��� ���
������ �������� ���� ��� �� �� ���������� ��+�����
14: Address Mapping Module5: Logic to manipulate Task−IDs
Extended 6: History Buffer Controller
Modifications
Extra bits in cache tags
Transactions
2
1: Directory Controller2: Directory Array3: Network InterfaceMain
3
ModuleDirectory
Memory
L1cache
N
N
Procoff−chipcache
N
N
5
6
4
Figure 7.4. Modifications required in a DSM machine to support the complete speculation protocol.
='�� �� /�&����!
#�� ����� �������� ��� !� ������� ���� ��� ������� ��������� !� ��� ��������� ����
@;� �� (�������A ��� ����� ��������� �� ��� ���� @8�� (�������A� ��� �� 9�5%@�A
����� � �����F�� �������� ���� ��� ������� ��������� !� ��� ��� ��������� ��������
�� ����� ��� ������� ��� ��� ���� �� ������ ������� �� �� ��� F��� �B����� ��� �� ��� �����
��� ���� ��� �> �� ��� � ����� ���� @#�> �� ��� ��������A �� �������� �� ��� �� � ��
,�� = ��� ,�� >.��� �� #�> �� ������ ,�� >.�� �� ������ ��� � >���A��� �������
�� ���� �� ��� ����� )� � ����� � ������ �������� �� ���� �� ���� ���� #�> �� ��������
�� ��� ,�� = ����%�>� �� #�> �� ������ ���� �� ��� F��� ����� �� ��� �����!� !� ��� �����
,�� = �� ������ ��� ��� � =���A��� ������� �� ���� �� ��� �����
8����!�� ���� ��� ����� ���� ��� �B������ ���� >��.�� ��� =�� !���� #���� !���
��� ��� �� ��� �� �������� �� ��� ��� ��������� ��������� �� � ����� ��� ��� =�� !��
�� ����� �� �������� �� �� �� ����� ���� �� ��� F��� ����� �� ��� �����!� !� ���� ���� ���
=�� !�� �� ��� ��� � ������� �� ���� �� ��� ��� ��������� �������� ����� �� �������
�� �B������ !������ )�������� �� ��� =�� �� ������ ��� �� ������� �� ���� �� ��� ���
1<3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 186: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/186.jpg)
������ ����� ��� F��� ����� ��� ������ ����F��� 7��� ���� � ����� �������� ��� ���� ��
��� !������ ��� #� � ��� ��������� ���� ��� ���� ��� ��� ������� �� ������� �� �������
���� ��� ���� ������� ��� ��� >��.�� !�� � ������ �������� �� ���� >��.�� ��� =��
!��� ��� ������ ���� � ��� ���� �������
�+ ��� �+ ��� 89��
�+ �� �#�1�� �� � �#0 � �!'� �+ �����7 �� �� ��
�������/H� ��!'< ���%����< ����< � �#0� �����7 � �!'� �� ����73���� ����
����+ ���� 7�� �8#��� � ��� �,�����
�+ ��� �#�1�� � �!'� �� �� �#0 � �!'�� �+ ����73�� � �!'�
���� ��� 89�� @��, �!' � , � �#�� ��� �0��< ����< �!'< � �#�1���
� �#�1�� � �!' ����+
����+ ����+
����+ /�#�1�� � �# �/�#�1��< �!'�
�+ 7�� � ����+
�+ ��� �#�1�� �� � �#0 � �!'� �� �+ 7�� �89��
�� �#0 �� ��� �+ ��!' � /�#�1���
�������/H� ��!'< ���%����< ����< � �#0� �#�� ��� ���0< ����< �!'< /�#�1���
����+ ����+
�+ �� �#0 � �!'� �+ �/��0 �� ��
���� 7�� �89�� @��, �!' � , � �������/H���!'< ���%����< ����< ��
� �#0 � �!' ����+
����+ /��0 � �� �/��0< �!'�
����+ ����+
��� ���� ��"���, �*� H � ��"���,
Figure 7.5. Algorithm for the speculation protocol at the Local Memory Node (a) and at the Home
Memory Node (b). TID is the ID of the executing task.
��� �� 9�5%@�A ����� ��� �������� �B�� ��� !� ��� "���� =��� ��� ���� �������� �
>���A��� ��? ��� �� � �� F�� ��� ������� �������� #��� ������� �� !� ��� ��� ������
�� ��� ������ ������ ���� ��� �����!� ��� ����� ������� @���= �� �? � �� 4A �� ����
��� �����!� ��� ������� ! � ,�� >.�� �� ���� ���� ���= ��� �� ������� ��� !���
�������� �� ��� ���� @�� =9��� �� �? � �� 4A� )�������� ��� ���� ���� � �� ���� �
=���#� � ��? ��� �� � ��� ������ ����������� #�� ������ ���������� �� ������ ����
��� ������� �� ����� �� ����G�� ���� @��� ��� ���A ��� ��� ,�� = ����%�>� #�� ���� ��
����� ��� ������� ���� ��� ������� ,�� = ����%�> ��� �� ����� ��� ���� ��� ����%�> ��
��� ������ ������ ������� ��� �� =9��� ������������ �� �� ���� ����� ��� ���� F���
���� �� =9��� �� ������ ���� ��� ,�� >.�� �� ��� 8���%����� ��? ��� �� ����� ���� �
=(8 ���������� �� � ����� �� ��� ���� � ����� ��� ��? ����� ��� �� =9��� �������� #�
������ ���� ���������� �� �B������� ������ ����� �� !� � �� #��� ��� � �� !� �B������
���� �� ���� ������ �� ������� �� =9��� �� ����� ���� ,�� >.�� ��� ������� �� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1<2
![Page 187: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/187.jpg)
Appendix A
���� �� ���� �� ��� ��? ����� ���������� �� ��� ���� �� >.�� �� ������ �� ��� ��B�� �
�� ��� �������� ,�� >.�� ��� �� >.���
�� ��� ���� �������� � =���A��� ��? ��� ��� ,�� = �� ��� �������� ������� �� ���%
����� �� ��� ������ �� >.��� �� ,�� = �� ����� ���� �� >.�� � ���� ��� ������ ���
����� � �����!�� #� � �� �B������� ������ � �� ��� ���� ���� � �%��%����� 8(=
����������� #��� ������ �� �? ��� � ����� ���� �� �> ������ ���� ��� ������� ���
��� �� ������ ������ �� � ���� ������ �� �� ��� �������� ��� ,�� = �� �? � �� �����
���� �� >.�� �� ���������� ���������� �� ��������� #�� ���= ����%�> �� ������ ��
��������� ���� ��� �������� ,�� =�
��� ��������
7����� ���� ����� ��� ����� ������ �� ��� ��������� �� ��� �� 9�5 ����� �� ����� ����� ��
!� �������� �� ��� �".� #�� ���� �!��� � ��� ����������� �� � F��� ����� !� � ���� �� �
���������� �� ���� ���� � ������� ���� �� ���� ���� �� �!� � �� !� ������������ #� � ���
��� ��������� �������� ������� � ��� ����� �� ��� ��� �". ����� �� ����� ��� �� �� �
�� ��� �����!� ��� ,�� = ��� ��� �������� (� ������ ���� ��� �� ���� ,�� = �� +����
�� ���� ���� ��� ����� �� ��� F��� ����� �� ��� ���������� #� � ��� �� � ���� ����� �� !�
�������� ���� ��� �". �� ��� ������ �� � �� ��� �����!� !����� ��� ���� ����� ��������
������� �� ���� �� ����� ���� � �� � �� �� ��� ��� ���� ��� ����%�> �� �������� ���� ���
�".� #� � �� ���� � �������� ������� F��� ���� ����� ���� ������ � ���� �� �� ����
���� ��� ������ �� � ����� �� !� ������ !��� �� ��� �����
#�� ������ �� � �� !����� � !� ��� ���� ���� ��� F��� ���� ���� � A����=��
������� ������� ��� ������ ���� @��� �� 9�5%@!AA� #�� ���� ����� �� ����� �� ��� ����P�
�". ���� ��� ������ �� � ��� ������� ��� ��� +��� ���� ��� ����%�>�
$����� ����� ������� ��� ����� ����� �� ����� ����� �� !� �������� �� ��� �". ��
�� �� �B����� ���� )� �� �B����� ��� � ��� ������� ���� � ����� ��� ��������� ���
�� � ��� �������� ' ����� ���� � ���� � ��� �B�� ��� �� � ��������� ��� ��� ���������
��� ������� � �� � �����!� ���� ��� ��� ��� ����� �� ��� �".� #��� ������� �� !� �� ���
����� �� �� ��� ����G�� ���� �� �� ��� ��������� ' ����� ��� ���� � ��� ���� � G � �� ���
���� ��������� �B�� ��� �� �B����� ��� �� ���� �����!�� #��� �B����� ��� �� �� ��
� >���A��� ��? ��� ������� �� !� ���� �� ��� ���� ���� ����� �� � ��� ��� �������
������� @� ������� L ���� L �� !������ � ��� �G�A� �� ���� ���� ������� L ��� ������� ���
������ ������� �� ��� ������ � ���� ��
"������ �� �� ��� ���� �� ���� �� ����� ���� ����� �B����� ��� ���� � ���������
�B�� ���� =� ��� ���� �� ���� �� ����� ���� ��� ��������� @,��B81�� �� ,��B= �
#�>A �� �� �� �� ���� ���� ��� ��������� ��� � ������� ���� �� ��� ��� ���� �� ��� �".�
#��� ��������� ���� ���� �� ��� ���� �� ���� � ������� �� ��� F��� �B����� ��� �� � �����
194 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 188: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/188.jpg)
�� �������� ��� �� ��� F��� �B����� ��� ����� � ������� ���� �� ���� �� ������ �� �����
�� ��� �".�
4� ��& ��� 4���������
$���� ���� ������� =(8 ��� =(= ��+���� ��� ��������� ��� ��%����� 8(= ��%
��������� ��� ������ � ���������� #�!� 9�1 ���� ��� ��� ����������� ��� ������ ���
���� ��� ��� ������������� ������� ���� ���� �� !� ���������� =� �B���� ���� ��B��
'� ������� ���=�� � ���� &��� ������ ��.��
��=���� �����, +� �,� ��",� ������ ���� H���@���
�+�@��� �+ ��� 0��
��0 ��=+=���� �����, ��� ����� ���.� ���"�� �+�@���
�,�� ������ ���.
��=���� & �*�� =
0�� ��=+=���� !+ �,� , � ,�� *��� � �����< �+�@���
�����, � ���� �,� ��",� ����
��=���� & �*�� H � �,��� �,� ���� H���@���
0�0 @���� � �" �,� ��� ���� ����
��=���� �� � �� �*%�
Table 7.1. How to handle dependences between tasks.
�� �� ��%����� 8(= ���������� ��� ������� ������� ����� �� !� ��������� �� ���� ��
��� ��� ���������� ���� ��� ��� ���� ��� ������ �� !� ���� �� ��������� #�� �������
��? ���� ��� !� �� �� �� ��� ������ ������ �� �� ��� �� ��� ������ ���������� �� ������
��� ����� �� ��� ����G�� ���� �� ��� ��� ������P� ����� �� ��� ��%����� 8(= ����������
�� ��B�� ���� �� � �%��%����� =(8 ���������� ��� ������ ����� �� !� ���� �� ���������
�� �� � �%�� ����� 8(= ���������� ��� ������� ���� ��� ������ ���� ��� � �����
�� �� #� � ������ ������� ����� �� !� ������ #��� ��� ���� �� ���������
)!��� �� �� ��%����� =(8 ���� ��� ���� ��� ���!��� .��� ������� ��� �������
����� ���� �B�� ��� �� ��� ������� ������ "������ ��� ���� �� �� � �%�� ����� =(8
���������� ������ F�� ��� ������ �� � �� ��� ������ ������ ������� �� ��� ���� ���
!��� ������ !� � ����� ����������� ���� ��� �� � �� ��� �� ����� �������� �� ����
���� ����G�� ����� ��� ���!� �". ���� �� !� ��������� #��� ������� �� ��� ���� ��
���������
��%����� ��� � �%�� ����� =(= ���������� ��� ��� ���!������ ����� ���� ��� �����
!� ��� ���� ��������� ����� ����� ����� ��� �� ����� �������� ��������
#� � ��� ��� ��� ���������� ����������� ���� ���� ������ ������� ��� � �%�� �����
8(= ��� � � �%�� ����� =(8� #���� ��� ����������� ���� �� !� �������� �� ���������
#��� ��� ���������� �� ����� ��B��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 191
![Page 189: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/189.jpg)
Appendix A
?�������� >(=C > ��� �� I������ ��� >�>������ �����
(� � �%�� ����� 8(= ���������� �� �������� ���� � ����� ����� ������� !����� �� ���
���� � ,�� = ���� �� ���� ���� ��� ����P� �� >.��� #�� ������ ��� ���� ������ ����
�� ���� ���� ��� �������� �������� �� � �������� ������ ���� ����� ��� �/���� ���� !�
����� ������� ���� ��� ���� ��� ����
(���� ��� ����� �� �������� � ����� ���� �> ������ ���� ��� ������� ��� ��� �? ������
#�� ����� ����� ��� ����� �� �������� =��� ���� ������� ��� �> �� ��� ������� ����
!������ ��� '����� ,���� @&,A� (� ���� ������ ��� ���� ������ �������� ����� �����
�� ����H �� �������� ������� ��� ����������� I� ������� ���� ��� ��������� !�
����� ������ ���� ��� ������� ��� ��� ��������� ����� �� =9��� �� ������ ���� ��� &,�
'������� ���� ��� ��������� !� ��� ����� ����� ��� ����� �� =9��� �� ���� �� �? �
�� ��� &,� ����� ���������� �� ��� ���� �� ������� ����H ��� ��� ��������� !� ���
������� ����� ���� �� �? � �� ��� ������ ������ #�� �������� ������� �� ����� ������
������� � ��� ���� ������ ����F�� ���� �� ��� ���� �� ����� ���������� �� ��
#�� F��� ���� �� ����� G ������ (� ����� ���� �� G ���� ���� ��� ������ ��� ������� ��
��� ���� ��� ����� ��� �����!�� �� ��� ���� �� ��� ���� �� ������� @�� =9��� �� ',A
�� ��� ������ ��� �������� ���� �� �� !����� � ����� �� ��� ���������� �� � @��� �� 9�<%
@�AA� #��� ��� �� ���� ��� �������� ����� ,�� = �� � �� ���� �� =9��� �� ,�� = ��
',� �� ������� ��� ���� �� ��� ���� �� �� ������� @�� =9��� � &,A �� ��� ������
��� �������� ���� �� �� ����� � �� � ������� ������� @����� 1 �� ��� �� 9�<%@!AA� #���
��� �� ���� ��� �������� ����� ,�� = �� � �� ���� ,�� = �� ',�
$����� ����� ��� ������ ���� �� ������� �� ������� ���� ��� � ������� ����
���� ���� ��� ���������� ������� ���� ����� G ����� � ������� ������ � �� � �������
��� ��� !� �� ��� ����� ��� ����H �� ��� ���� !��� �������� ���� � ����� � ���� ���
��� �� �B�� ���� �� ��� �������� ��� ��������� !��� �� ��� ���� ������ ��� � �����
@��� ����������A �������� �� ���� ���� ��� ���������� ������� ��� !� �� � ��� �������
&����? ���� ����� ��� ������ ���� �� ������� �� ������� ��� ���� � ���������
��? ��� � � ����� ����� !��� �� ��� ��� ���� � ��� ������� �� ��� ��� �� ��������� !�
��� ���������� ��� ���� ������ ���� ����� !��� ��? ��� �� ��� ��� ���� ���� ��� ���
������� (� ���� �� ����� �����!���� ��� ��� ���� �� ��� ���� ��� ���� �������� ��
��� �� ������ �� �� �� �� !� ��������� #���� �����!���� ��� ��� � ����� �� ��� ����������
�� � @����� 6 �� ��� �� 9�<%@!AA�
#�� ������ ���� �� ��� ���� ��������� �� ������� ���� ���� ��� ��� ������� ! /���
)�� ����� ���� �>� ������ ���� ��� &, ��� ��������� #�� ����� �� ��� �������� ���� ���
������ ����� ��� ���� ��� ��� ��������� ������!�� �!��� �� ������ �� ��O��� �������� ��
���� ��� ������� !���� (� !����� ����� ���� ���� �� ������ � ���������� ��� ����� 1 ��
196 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 190: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/190.jpg)
2
Update
Last−Committed
Update
Increasing
CPCP
1
(b) (a)
task−IDLast−Committed
Figure 7.6. Recovering the state in an out-of-order RAW dependence infraction.
��� �� 9�<%@!A ��� ���� ��? ���� � � �����=���#� � ���� � ��� �������� )���� �����
��� ����������� �� ��� ������� ! /��� ��� ���� ��� �������� ���������� ��������� #��
����� �� ��� ������� ! /��� �� ���� ������� ��� ���� �>� ��� ����� ��� ����� �B�� ����
�� ����������
?������?� =(>C >��� �� '� � E����
$����� ����� ����� �� ��� ��������� ���� ����� �������� �� ������H �� � �%��%�����
=(8 ��� ���� ���� ��� ��%������ ������� �� ���� �������� 8��� ���� ���� � ����
�B�� ��� �� �B����� ��� �� ���� � ������� �� ��� ���� ����� =��� ��� ���� ��������
���� ������� �� ��? ��� � =���#� � �� � ��� ������ ���������� ������ ��� ��� ����
��� ������� ,�� = ����%�> ��� ������ ���� ��� ����%�> �� ��� ������ ������ �������
��� �� =9��� ������������ �� �� ���� ����� �� F��� ���� �� =9��� �� ������ ���� ���
,�� >.�� �� ��� �B����� ��� �� ����� ���� ����� �� � �%��%����� =(8� #� ������� �
�������� ������ ��� �� ��� � � ��� ������� ������� �� ��� �����!� ���� ������ ����G��
����� �� �".�� #�� ������� ������� �� !� ��� ��� ���� ��� ������ ����%�> ���� �� ���
���� ���� ��� ������� ����� #�� �������� ������ � �� �� ��� ��������� �B�� ���� ���
������� ����� 7� ����� ��������� ����� �� !� ������� ��� �� ���� ����� �� !� �? ������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 19:
![Page 191: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/191.jpg)
![Page 192: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/192.jpg)
�""���5 3
#� ���"���� �+ ��� �""��������
#��� (������B ����� � !���� �B�������� �� ��� ����� ����������� ��� �� ��� �B�������%
�� ��������� �� &������� 5��� <� #���� ����������� ���H (��� ���� ',0&��6444 I�� 44J
�� � ��� #��� ���� ,������ I.�32J 9�� 7� ���� ",�%6 I>'"2;J ,7� ���� 7&'(
��� � ���� I�� 2;J�
� ,7� #��� ����������� ��������� � 7%!��� ��� ����� ���!��� #�� ��� ����
���� �� ������� 1 ���� ���� 29::< ����������� 0��� ��������� ���� ��� ��� ������ ��
��� ������ �� ����� #���� ������ ������ �� ��� � �!�� �� �����!� � ����� ��� ���
�������� !������ ����� #� � ����� ����� �� � ��� ���� ���� �� ������� �����
������������ ���� ���� ������ "������ ����� ����� ��� ���� ���� ����� �����
�� ������� ���� ����� ������������� ( �����? ���� �� ���� �� ���� ���� ����������
�� ���� ��!������� ( ��� ���������� ����� � �� �� ���� ���� ���� ������ ����
���� �� ���� ����� �� ��� ���� ������ �� ���� ��� )� ��� ����� ���� ��� ������
���� ��� ���� ����� �������� ��� �� �������� !� �������+��� "������ ��� ����������
��� �� �� ������ !� � � ����+�� ��� ��������� ��� ������� ���� ��� ������+�
���� ���� =��� ��� ��� ��� 29::< ���������� �� ��� �� ��� F��� 2444 ����������
�� ��� ��� ������
� � #��� ���������� ��������� � ����������� 7%!��� ��� ����� �� ��� ��� ����
�� ���������� �������� #�� ��� ���� ���� �� ������� ;1 ����� ��� �������� ��
� ���� ��� ���� ��������� � ���� ��� �� �� ���� ;42< ����������� #�� ���� �����
����� �� ��� �� � ����� ��� �� �������� ������� ��� ��� ����� ��� ��� !� ��
��������� ����� ���� ���� !��� ������ �� ������� ��� � ���� �� ��� ����� !� ���
���� ���������� #��� ����� �� ��������� �������+�!� ���� �� ���� ������� ������ !�
� � ������� �� ������ �����
� #��� #��� ���������� ��� ���� ��� ��������� ��� �� �� ��� �������� �� � ����
����� !� ���� �� �������� ��� ������ �� !������ �� �� ������ #�� ��� ����
���� �� ������� 5 ����� ���� 1;22 ���������� ����� #�� ���� ����� ������ ��� �������%
+�!�� (� ���� ���������� ������ ������� ��� ������� �� � �������� ��� ���� �� ����
�� � ��������� (� ��� ����� �� � !�������� � !������� ��� ��� �� ���%����+�!� ��
������ ����� �� �������� ������� ��� ��� �� ������� ���� �� ���� ��������� �� � �
��������� �� ��� ��� �� ������� ������� ������ �� !� ��� ���� ����������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 195
![Page 193: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/193.jpg)
Appendix B
� (��� #��� ���������� ��� ���� �� ����� ���������� �� ���� ������������� ���
���������� �������� �� ��� ����� ������������� =� �� �� ��� � ���� �� 516B1B<;�
#�� ��� ���� ���� �� ������� 244 ����� ���� <: ���������� ����� ( �����������
������� ��� ���� !������ �� #���� �� ��� �� ����� ����� �� ���� ������ ���������
(� � �%���� ���� �������� �� ��� ����� ��� ��� ���� ���� ����� �������� ���
�������+�!� ����� � ����� ����� �������� � ���� �� ���� ��������� ���� � �������
��� �� #��� !������ � ������� ������ !� � � ���������� �� ������ ����� (�
� �%���� ����� ��� �� ����%���� 8(= ������������
� 9�� 7� #��� ���������� �������� � �������+�� ��� ����� �� ��� �������� ���� �
>����� '�� ����� ����� &��� ������� #�� ��� ���� ���� �� ������� 34 �����
���� 953296 ���������� ����� #�� ���� ����� ����� �� �������� ���� ������� ���
��� � ��� ����%���� 8(= ������������ (� � � ���� ���� �� ���� ��� �B�� ���
� �%��%������
� �� � #��� ���������� ��� ����� �� ������ ��� ���O������ �� �� ������ � �!��
�� ������� � ����� ���� ������ ��/����� ������ #�� ��� ���� ���� �� �������
5< ����� ���� �B�� ���� � ��/����� � �!�� �� ���������� ���� �� ������� �� 546
���������� ��� ����������� ( ��� ������ � �� !� ������� ���� ������ ! � ��� ���
�� ����� ��� �� ��� ����%���� 8(= ������������ #�� ������ �� ���� ������ ��
����� ��� � ����� !� � ��� ������� ��������� �����!� ��� ��� �� ��� ����+�!�
�� ������ ����� ) �%��%����� 8(= ������� ��� � ���� ������� �� ���������
19< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 194: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/194.jpg)
�""���5 �
5��"�� �+ ���� ������8!9 ���+�������
&������� � ������� ���� < ����� ���� �� � � �� : ����������� #�� ����� ��� ���%
��!������ �� ����� �� ��� �� 9�9%@�A ��� ���� �����%�������+����� ��������� ' �����
���� ����� �6 �. ��� �- ���� !��� �������� �� ���������� ,6 ,. ��� ,- ������������
��� �� 9�9%@!A ����� ��� ���� ���� ,- F������ �-� $���� '����# @��� �� 9�9%@�AA ,-
�� ���� ��� �- ������� @����� -A ��� ���� �B�� �� �%� $���� � ��#C'� @���%
�� 9�9%@�AA ,- �� ������� ����� �7 ��� ���� ���� $����� ����� �� ���� ���� ,6 ��
���� ��� � ���� @�2A ��� ���� ��� ���%���� ����� ��� �� ���� ���� @�.A� (� � ��� � �����
�� F������ �� ��� ����� �% �� �� ������ ����� ��� � ��� ���� ������� ���� ������
??T2
T1
T0
Proc #Time
P0
T5T4
T3
T2
P1 P2
T0
T1
T5T4T0 T1 T2 T3
T0
T0 T1 T2 T3 T4 T5
C F
c5
t t
E E
Task Sizes
(a) (b) (c)
S
SingleT MultiT&SV
(d)
c4c4
c3 c1
c0T1
T4
T5
T5
c2
c3
c2
T2
T3
c5
c0
c1T3
C
P0 P1 P2
EFE
T0 T1 T2 T3 T4 T5
P2P1P0
Figure 7.7. Example where MultiT&SV is slower than SingleT. The example assumes that tasks commit
without visible delay.
#�� ����� ��� � �� ���� � ��#C'� �� �����H �% F������ ��� ������� � �� ����
@ %A ���� �� '����#� #�� ������ �� ���� ���� '����# ����� ��� � !���� �� ��%��!��
�������� ���� � �������� ���� ��� ����� ������ �������� ��� ��� ���� ����� �� ��� ������
������ "������ ���� � ��#C'� ����� ��� ������� ��������� #��� ������ ����������
��� ��� � �� ����� ��� ���� ��� ������ ����� ������ �������� ���� ����� ����� �����
�� �� ��� ������ #��� �/��� ����� ��� ������ ��������� ����� �� �� ����%���� ����� ���
� ��#C'� ������� � ����� ����������� ���� �����%�������+����� #�� ������ �� ����
���� ����� ���� �������� ��� ������ ��������� �� �� ��� ������� ���� !��� �� � �����
���� ������ ��� �� ���� ��� �B�� ���� ��� ��� ������ � ��� �������� #�������� �������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 199
![Page 195: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/195.jpg)
Appendix C
��� ���� ������ ��� �� �� ����� �� ���� �B�� �����
( ����� �/��� ��� ����� �� ��� �B���� �� ��� ��� �� ����� ��� ����� ��� ������
�� ���������� ����� �� ���� � ���� '����# ��� � ��#C'�� #��� ������ ��� ���
��� ���%���� ����� ���� ��� � ��� ����� ���� ����� ����� $���� '����# ���� ������
�������� ����� ����� �. �- ��� �7� $���� � ��#C'� ��� ������ ��� ����� ����� ���
��� �������� �2� "������ ��� � �!�� �� ����� ������ �������� @������ !���� �B�� ���
@0A �� F������ @�AA �� ��� ���� �� !��� ����� !��� �� �7 �� ����� ���� � ��#C'��
#�� ��� � �� ���� ��� �� ���� �7 �� ������ ���� ���� � ��#C'� ���� ���� '����#
��� �� � �� ���� ��� ���� ������ ��������� �� ��� � ��#C'� �������
193 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 196: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/196.jpg)
��� �����
I(�26J .� 8� (���� ��� &� ��� ������ #������� >���������� �� ��� >0& 9444 ���
>0& 14444 (T, ������ 9������ � ��� �� :����� ;@;AH1R1 '����� ��� �
1226�
I.�32J �� .���� �� �� #�� ,������ & ! .���������H 0/������ ,���������� 0�� �%
���� �� ' ������� ����� )��/� :����� �� +�� ����� (���� ������ :@:AH5R
;4 �� 1232�
I.��33J $� .����O��� 9���� (������� �� +�� ��������� L ��� (�������
, !������ 7���� �( 1233�
I..)�3:J .�8� .����� 8�0� .� ������ .�>� )����� >� �� '����� '� '����������
��� �� L��� �� &"(8��H ( ,������ ��� ��������� �� 0����� ����%
��+����� ��� >������� &�� ������� :����� �� '������������ '������
;@6AH139R619 123:�
I.&21J �� � .��� ��� #��� &���� (� 0/������ ��%���� ,�������� '����� �� 8�� ��
>��� (����� ,������ �� ,� � �� +�� ��������/1. ����� 19<R13< 1221�
I.&46J K� .� ��� �� &���� =���P� 7�B� �� "���%,���������� &��� ����Q '���
���� ������ �� �� ('� ;5@6AH21R25 ��!� ��� 6446�
I.>0�2<J =� . �� 8� >��� 8� 0�������� �� K�� � �� "��G����� #� �������
�� �� >� ,�� � N� ,��� .� ,�������� � 8� �������� ��� ,� # � (�������
,������ 8���� �� ���� ��� "���%,���������� &��� ���� ���� ,������ )***
'����� 62@16AH93R36 >����!�� 122<�
I.�35J &� K� .�� � ���H ( 7�� &��� �� � ����������� &��� ����� + ��
663H;<6R;<9 (��� 1235�
I.�=35J =� &� .������ L� ,� ��( �/� ��� �� =����� 8,: ,��������%������ 0�%
����� �� ,� � �� �� .1$% )��/� '���� �� ,����� ,� ����� 0)',,4$%3
����� 936R932 1235�
192
![Page 197: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/197.jpg)
References
I&.2;J #��� &��� ��� �� � .���� ( ,���������� '� �� �� '������� ��� "�������
>��� ,���������� '������� �� ,� � �� �� -.�� (����� )��/� +�������� ��
'����� ( ��� �� 0)+'(/123 ����� 66:R6:6 (��� 122;�
I&&23J &�"� &�� ��� &��� &�� ��� "������� ,���������� ��� ,������ >��� 8����%
������ �� ,� � �� �� .11$ )��/� '���� �� +�� �������� 0)'+41$3
����� :99R:3; 1223�
I&�93J � &������ ��� ,� ��� ������ ( 7�� '� ���� �� &�������� ,��!��� �� � %
������� '������� )*** ����� �� '������ 69@6AH1116R1113 >�� 1293�
I&"'�22J ��.� &����� =�&� "���� �.� '���� ��8� '������ � *���� 0� � .� �%
���� (� >���� &�%&� L � 8� L ������� ��(� ,����� � '�������� ���
#� #�������� ��� ��H . ����� � '������ ������ &�������� �� ,� � �� ��
%�� )��/� +�������� �� 8��� ,����� '����� ( ��� �� 08,'(4113
����� 94R92 ��� ��� 1222�
I&�#44J �� &����� �� �� ��������+ ��� �� #������� (�������� �� ' ����� ��� '���!�
'��� ����� ,�����+����� �� '�����%������ � ������������� �� ,� � �� ��
-5�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(4663 ����� 1:R
6; � �� 6444�
I&��2<J >����� 0? ������ &����������� (��� (�������� �� "���!���� ������� :�
)���!�� 122<�
I&#N2;J >� L� &��� �� #������ ��� ,� &� N��� (� 0����� (������� ��� ���
8 �%#��� ,�����+����� �� >�%(����� ����� �� )� ,� � �� +�� ��������
/.112 ����� 513R569 7����!�� 122;�
I>>'2:J �� >������ �� > !��� ��� ,� '������S��� ��B�� ��� (������� '�? �����
,���������� �� '����� ������ � ������������� �� .117 )��/� '���� ��
,����� ,� ����� 0)',,4173 �� �� 1 ����� 5<R<: ( � �� 122:�
I>K,�46J �� >��� ���� K��+����� �� ,�� ���� (� � � "� N 7� (���� � 8� ���%
����� ��� ��#������� '����(��� �� (��������� &������ (������� �� "���
,���������� &��� ����H &������%(������� '������� ��� "������� ' �����
��� 8�� ����� )���������� �� =������ �� ,����� *������� � ��
������ ��� >�� � +������ I�� �� <+A < � D������ +����� ,��
��� ��!� ��� 6446�
134 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 198: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/198.jpg)
I>�8�25J �� > / �� ������� K� 8������� ��� &� ������� ( ��� �� ��� : .���� �����
(��!�� ' !�������� ��� '����� ��������� #������� 8����� 8( %#8%25%4;2
8 �������� (������ �!������� 1225�
I>'25J �� >������ ��� ,� '������S��� 0/���������� �� "�������%!���� '����� ���
'�? ����� ,���������� �� '�����%������ � ������������� �� ,� � �� ��
.�� )��/� +�������� �� 8����,����� '����� ( ��� �� 08,'(41%3
����� <3R99 ��� ��� 1225�
I>'2<J �� >������ ��� ,� '������S��� 0�� ����� �� "�������%.���� '����� ���
'�? ����� ,���������� �� '����� ������ � ������������� )*** ����� ��
,����� ��� 9�������� +����� 9@;AH:35R:23 (��� 122<�
I>'23J �� >������ ��� ,� '������S��� ,���������� 0�� ����� ��� &��� (������ ��
&���� ,������ 0B�������� ��� '�����%������ � ������������� )*** �����
�� '������ ;9@13AH:35R:23 )���!�� 1223�
I>'"2;J �� > / 8� '�����!�� ��� ,� "����� ",�%6 '���� �� (��������� ��� ����������
(����������� #������� 8����� &8,&%#82;;26 8��� $��������� 7����!��
122;�
I>$'"2;J 8� >�� �� $��� �� '��+ ��� N�'� "����� &��� �������� )�����+������ ���
����� �� '������F� &��� ������� �� >�����! ��� ������ (�������� ���� :���
��� �� ,����� ��� 9�������� '�������� 66@:AH;<6R;92 '�����!�� 122;�
I0" ,21J 8� 0�������� �� "��G����� *� � ��� >� ,�� �� 0B�������� �� ��� ( ��%
����� ,�����+����� �� �� � ,������%.�������� ,�������� ; �� <��� ��
'����� + �� %$1� ,� ����� �� �� 2�� =������ �� ;������� ���
'������ �� ,����� '��������� +���� '���� '( ����� <5R3: ( � ��
1221�
I0 ,'23J L� 0�������� .�%"� �� ,� ,������� ��� �� '���� ,8�'�H (� ����������
(�������� �� ��� '���!� '����� ������� �� ,� ����� �� �� 2�� )��/�
+�������� �� 8����,����� '����� ( ��� �� 08,'(41$3 �����
1;4R151 ��!� ��� 1223�
I��41J 8� ��� ������ ��� �� ������� "������� ' ����� ��� 0B�������� &�����%�����
'��� ����� ,������� �� >�����! ��� '�����%������ � ������������ ��
,� � �� �� )��/� '���� �� ,����� ,� ����� 0)',,46.3 '�����!��
6441�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 131
![Page 199: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/199.jpg)
References
I� (41J �� ����� =� �� ��� '� (����������� ( '������� ��������� ��� ' ��������
K����� , ����� (���������� �� 8�� &��� ������ ��!����� #������� 8�����
��#D &' #������� ���� <12 � � 6441�
I�,26J ��=�&� � ��� ��"� ,���� '����� >������� ,���������� �� '���� ,����������
�� ,� � �� �� -%�� �)'>? ����� 146R114 1226�
I�'2<J �� ������� ��� K� '� '���� (8.H ( "������� ��������� ��� >������
8��������� �� ������ 8���������� )*** ����� �� '������ ;5@5AH556R
591 ��� 122<�
IK.33J =� K ������� ��� "� .��������� K8)�)'H K8)������ �)�� �� '�� �%
���� ��������� #������� 8����� �!������� �� ,������ &�������� $���������
�� K�������� 1233�
IK.��41J ���� K��+����� �� .��+ ,� �!�����+ ��� �� ������� "������� ,����������
�� . �%!���� � ������������H ,������ &���������+����� ��� &���%0/������
"�������� �� ,� � �� �� -66. *���� � =������ �� ,����� ��� 9������
��� ,� ����� 0,9,46.3 ����� :;5R:5; 6441�
IKKL�3:J (� K�����! 8� K������� &� L� ��� L� ��( �/� � 8 ���� ��� �� '����
#�� 7N$ $������� ��� % >�������� �� ���> '����� ������ ,���� &��%
� ���� �� )*** ����� �� '������ ����� 195R132 ��!� ��� 123:�
IK723J �� K ��� ��� 8� 7��� #�����? �� ��� '��� ����� 8 �%#��� ,�����+�����
�� ����� �� ,� � �� +�� �������� /.11$ 7����!�� 1223�
IK, �44J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
�� #������� . /����� '���� ���� '������� ������ �� '���!� '��� �����
,�����+������ #������� 8����� &'8>%1531 $��������� �� ������ �� $�!���%
&�������� � � 6444�
IK, �41J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
����� #������� '������� ������ ���� '��� ����� ,�����+������ ��=���
���� �� ���� ,����� )���� ���� �� ��L�� ���� ���� )+'(46. � �
6441�
IK, �46J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
�� #������� '������� ������ ��� � ��%������� . /����� ���� '��� �����
,�����+������ #������� 8����� 88%46%4; >����������� �� ������������ �
����������� �� '������� ����� 6446�
136 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 200: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/200.jpg)
IK,*�41J ���� K��+����� �� ,�� ���� N� *���� (� � � "� N � 8� ��������
��� �� #������� (�������� �� ' ����� ��� ,���� 8�� ������ �� '���!�
'�����%������ � ������������� �� ,� � �� �� )��/� '���� �� ,��
���� ( ��� ��� ��� '���������� � ���@�� 0,('�46.3 ����� 6;:R65;
'�����!�� 6441�
IK�''23J '� K��� #� 7� ��O��� ��� �� 0� '���� ��� K� '� '���� '��� ����� ���%
������� &����� �� ,� � �� �� 2�� )��/� +�������� �� 8����,�����
'����� ( ��� �� 08,'(41$3 ����� 125R645 ��!� ��� 1223�
IK�=32J ��8� K������ ��L� ������ ��� ,��� =����� 0����� '��������+����� ,���%
������ ��� ����%'��� &����%&������� � ������������� �� ,� � �� �� 7� )��/�
'���� �� ( ��� ���� +����� �� ,�������� ;������� ��� ?����
��� +����� 0(+,;?+4$13 ����� <;R9: (��� 1232�
I"((�2<J �� "� �� (������� '� (���������� .� � ���� '�%=� ��� 0� . �����
��� �� ��� ��B���+��� � ����������� ,���������� ���� ��� '$�� &��%
����� )*** '����� 62@16AH3;R32 >����!�� 122<�
I"��44J �� � "������� ',0& &,$6444H ���� ���� &,$ ,���������� �� ��� 7��
����� �� )*** '����� ::@9AH63R:5 � � 6444�
I""23J &� #���� "� "��� ��������� &������ ��� 8 �%#��� ' ����� ��� (�������
����� �� &����� �� ,� � �� �� )��/� '���� �� ,����� ( ��� ��� ���
'���������� � ���@�� 0,('�41$3 )���!�� 1223�
I"L22J 0� "�������� ��� �� L������ =������ R ( '���!� ,��� ��� '�,�� ��
,� � �� �� %�� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4113 ����� 191R131 ��� ��� 1222�
I"L>�2;J �� "������� �� L ���� >�)��� �� "������ �� .�B��� ��,� '���� 8� '�����
L� K���������� >� 7������� �� "������+ (� K ��� �� 8����! � ���
�� "�������� #�� ,���������� ������ �� ��B�!���� �� ��� '������� � ('"
� ������������ �� ,� � �� �� B�� )��/� '���� �� ( ��� ���� +�����
�� ,�������� ;������� ��� ?������� +����� 0(+,;?+4123 �����
69;R635 )���!�� 122;�
I"=)23J � "������ �� =��� ��� L� ) ��� �� >��� '��� ����� ' ����� ��� �
&��� � ������������ �� )� ,� � �� �� $�� )��/� '���� �� ( ��� ����
+����� �� ,�������� ;������� ��� ?������ +����� 0(+,;?+41$3
����� 53R<2 )���!�� 1223�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 13:
![Page 201: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/201.jpg)
References
I�!�J ,�!� �!�����+� K������� � ������ � ,��!� �? ��� "������� �� �������� &����
����������� ,��>� #����� $���������� �� *�����+� >����������� �� ��%
���������� � ����������� �� '�������� � � 1223�
I��.K23J ,� �!�����+ �� ������ �� � .��+ ��� ���� K��+������ &���������+����� ���
����������� �� ���D'���� &����%.���� ,����������� �� ,� � �� �� .11$
)��/� '���� �� +�� �������� 0)'+41$3 ����� :<2R:9< 1223�
I�� 2;J �� 0� .������ #�������� #������� 8����� ������ �� ��� (�������� $���������
�� "����� 122;�
I�K29J >� ��������� ��� >� K� ����� ,���������� $���� ������ ,����������
�� ,� � �� �� -2�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(4153 ����� 656R6<: � �� 1229�
I�K22J >� ������ ��� >� K� ������ ,���������� ���� ������ ,���������� )***
����� �� '������ ;3@6AH161R1:: ��!� ��� 1222�
I�� 44J �� � "������� ',0&&,$6444H ���� ���� ,���������� �� ��� 7�� ����� ��
)*** '����� ::@9AH63R:5 � � 6444�
I�#2:J N� ���� ��� )� #����� '��� ����� ,����������� �� ,� � �� �� .117 )��/�
'���� �� +�� �������� 0)'+4173 ����� 1R11 122:�
IL&,#25J >� L� ���� T� &��� >� ,� ��� ��� �� #������� >��� ���������� �� '��%
�!� '�����%������ � ������������� �� )*** ����� �� ,����� ��� 9������
��� +����� ����� 1654R16<; >����!�� 122<� ( ������� ������� �������� ��
,���� �� ��� 2�� ���P &��������� �� ' ������� ���� @�&'P25A ����� 655%6<;
� � 1225�
IL> �2:J >��� L �� 0�'� >������� >�"� ����� (�"� '���� ��� &�E� *� � #��
&���� '����� ��� �� ������ ,���������� '� ��� �� ,� � �� �� -6�� (�����
)��/� +�������� �� '����� ( ��� �� 0)+'(4173 ����� 61:R66; ���
122:�
IL> '39J >��� L �� 0�'� >������� >�"� ����� ��� (�"� '����� * ������� ,��
���� '�������� ( ��� ���C E���� . � +� ��� ���� � �� +�� ��������
������� ,���� ' ������� ���� #���� ��� ��� &���� (������� ����� 1R6:�
�� �� >������� ������ 7����%"���� 7�� N��� 1239�
IL��3<J #� L������ (� (�������� �� ��� ����� � ������� ��� ����� �� ('� ;���
��� A�� ������ ,�������� '���� ����� 544R512 ( � �� 123<�
13; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 202: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/202.jpg)
IL)"�2;J �� L ���� >� )��� �� "������� �� "������ 8� '����� L� K����������
�� &����� >� 7������� �� .�B��� �� "������+ (� K ��� �� 8����! �
��� �� "�������� #�� '������� � ('" � ������������ �� ,� � �� �� -.��
(����� )��/� +�������� �� '����� ( ��� �� 0)+'(4123 ����� :46R:1:
(��� 122;�
IL8'33J &�,� L� ��� � 8 ���� ��� �� '���� 0����� '��������+����� �� � %
������������ ���� '����� ������� ('� ����� �� ,�������� ;�������
��� +����� 14@;AH592R<41 )���!�� 1233�
IL� 3<J &� L� ���� 0����� ,���� (�������� ��� K���� ,��!���� �� ,� � ��
�� .1$B )��/� '���� �� ,����� ,� ����� 0)',,/$B3 ����� 3<2R39<
( � �� 123<�
IL#23J �� L������� ��� �� #������� (� 0B�� ����%>����� ��������� ��� ���� ���
(�� ���� '�� ����� �� ' �������� ,���������� �� )��/� '���� �� ,�����
( ��� ��� ��� '���������� � ���@�� 0,('�41$3 )���!�� 1223�
IL#22J �� L������� ��� �� #������� ( &���%� ����������� (�������� �� ���� '���%
����� � ������������ )*** ����� �� '������� +� ��� )��� �� ������
����� ( ��� ��� ����� 3<<R334 '�����!�� 1222�
I ��26J ��#� �������� )����� ���� �� ,����� (�������� ��� ( ��� ���C (����
��� 8�� ���� ������ L� ����� 1226�
I K�24J >� ������ �� � ��� L� K���������� (� K ��� ��� �� "�������� #��
>��������%.���� &���� &�������� ,������ ��� ��� >('" � ������������
�� ,� � �� �� .5�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(4163 ����� 1;3R152 ��� 1224�
I K�26J >� ������ �� � ��� L� K���������� =� =�!�� (� K ��� �� "�������
�� "������+ ��� �� '� ��� #�� '������� >��� � ������������ )***
'����� ����� <:R92 ����� 1226�
I ,23J N� �� ��� >� ,�� �� )� ��� ( ������� ,�����+����� �� '����� ��� ����� ��
������� ,�������� �� ,� � �� �� A���� =������ �� ;�������� '�������
��� >������ +����� �� + ����� '������ 0;'>1$3 1223�
I 8�2;J �� 8� �� � .� 8������� ��� K� ������������ &�H ������ '����� ' �����
��� ,���� ��� ��� �������������� �� ,� � �� �� B�� )��/� '����
�� ( ��� ���� +����� �� ,�������� ;������� ��� ?������ +�����
0(+,;?+4123 ����� 643R613 )���!�� 122;�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 135
![Page 203: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/203.jpg)
References
I�K21J #� ����� ��� (� K ���� #�������� ������ ���� �� '�������%&�������
,���������� �� '�����%������ � ������������� :����� �� ,����� ��� 9���
������ '�������� 16@6AH39R14< � �� 1221�
I�K22J ,� ���� �� ��� (� K��+���+� & ������ '��� ����� � ���������� ,�����%
����� �� ,� � �� �� .111 )��/� '���� �� +�� �������� 0)'+4113 �����
:<5R:96 � �� 1222�
I�K#23J ,� ���� �� (� K��+���+ ��� �� # !��� '��� ����� � ���������� ,�����%
����� �� ,� � �� �� .11$ )��/� '���� �� +�� �������� 0)'+/1$3 �����
99R3; � � 1223�
I�"2<J '� �������� ��� � "�������� 0B��������� �� � ������ (����� &����F������
'����� ��� ,������%��������� ��� 7 ����� ,�������� �� ,� � �� �� .11B
)��/� '���� �� +�� �������� 0)'+41B3 ����� 1::R1;: 122<�
I7(.�25J (� 7����+�� K� (�!�� �� .����� 0� L�� �� ,����� .� 8���� ���
'� ������� #�� ':��� '���!� '����� ������ � ������������ �� ,� �
�� �� .11% )��/� '���� �� ,����� ,� ����� 0)',,41%3 ����� 1R14
( � �� 1225�
I)=,�41J &� � )�� '� =��� L��� ,��� 8� 0�������� .� ����F ��� #�7� ��O��� ����
� ����BH $������� &���������� ��� '��� ����� #�����% ��� ,�������
�� � &��� � ������������ �� ,� � �� �� -66. )��/� '���� �� +�� ���
������ 0)'+46.3 � �� 6441�
I,.K�35J K� ,F���� =� .������ >� K����� '� "����� =� L�������� L� ��( �/�
0� ����� (� 7����� ��� �� =����� #�� �.� 8������� ,���� ,��������
,�������� @8,:AH ������ ����� ��� (�������� ��� �� ,� � �� �� .1$% )��/�
'���� �� ,����� ,� ����� 0)',,4$%3 ����� 9<;R991 1235�
I,K8#41J �� ,�� ���� �� �� K��+����� � 8� �������� ��� �� #������� 8����%
��� (�������� �� .��������� �� ��� '���!���� �� '��� ����� ,�����+�%
����� �� ,� � �� �� -$�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(46.3 ����� 64;R615 � � 6441�
I,735J K� ,F���� ��� (� 7������ P"�� '���P &��������� ��� &��!����� �� � �������
��������������� 7�������� �� ,� � �� �� .1$% )��/� '���� �� ,�����
,� ����� 0)',,4$%3 ����� 924R929 ( � �� 1235�
I,��29J =��� ,��������� #����� #�����? �� ��� 0B��������� �� '����� 8�� �������
�� &��� ��� ,�������� #������� 8����� $��������� �� ������ �� $�!���%
13< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 204: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/204.jpg)
&�������� &����� ��� ' ������� ���� 8������� ��� >���������� ���
1229�
I,,3;J �� '� ,��������� ��� �� "� ,���� ( �� )������� &�������� '� ���� ���
� ������������ ���� ,������ &���� ��������� �� ,� � �� �� ..�� (�����
)��/� +�������� �� '����� ( ��� �� 0)+'(4$23 ����� :;3R:5; � ��
123;�
I,��25J &� ,����� �),+ )E )���� ���� +�� >������ 7�-� ��,' #���������� �� �%
���� ���� &( '�����!�� 1225�
I,'21J ��&� ,��� ��� ��'� '��������� )� ,��������� 0B�� ����� #������� 8�����
", %21%53 "���� ,������ �!��������� ,�� (�� &( ��� 1221�
I,#(29J ��'� ,�� ,� #���������� ��� '��� (���� #�� ������ �� ����� �����%
��� ,������� ��� � ����������� ,���������� ��� '�� ����� ������%
����� �� 7� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4153 ����� 96R3: ��!� ��� 1229�
I8�� 44J � 8���� ,� �!�����+ �� ������ ��� ���� �!������ ������� ��� (������
.������ � #��� �� 8�� �������� �� ,� � �� �� -666 )��/� +�������� ��
,����� (������� �� +����� ��� +����� 0)+,(++4663 ����� 141R143
(��� 6444�
I8�'23J (� 8��� (� �������� ��� K�'� '���� >��������� .���� ,���������� ���
����� >��� '�� �� ���� �� ,� � �� �� $�� )��/� '���� �� ( ��� ����
+����� �� ,�������� ;������� ��� ?������ +����� 0(+,;?+41$3
����� 115R16< )���!�� 1223�
I8,2;J � 8� �������� ��� >� ,�� �� #�� ,8��(#�*�7K >)( #���H ( 8 �%
#��� #�����? � ��� >)( ��� ������F������ ��� (���� ,������+������ ��
,� � �� �� .112 )��/� '���� �� +�� �������� 0)'+4123 ����� ::R;:
� � 122;�
I8,25J � 8� �������� ��� >� ,�� �� #�� 8,> #���H '��� ����� 8 �%#��� ,���%
��+����� �� ���� ���� ,������+����� ��� 8�� ����� ,�����+������ �� ,� �
�� �� +)D,;(< .11% '���� �� ,�������� ;������ 9���� ��� )��
���������� 0,;9)41%3 ����� 613R6:6 � �� 1225�
I8,22J � 8� �������� ��� >� ,�� �� #�� 8,> #���H '��� ����� 8 �%#��� ,��%
���+����� �� ���� ���� ,������+����� ��� 8�� ����� ,�����+������ )***
����� �� ,����� ��� 9�������� +����� 14@6A 1222�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 139
![Page 205: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/205.jpg)
References
I8'44J ,� 8 ��!��� ��� ,� '��������� ��%&��� #�����% ��� >��� >���������
'��� ����� �� � ������������� �� A���� =������ �� ���������� * �
������ ( ��� �� ��� '���������� >����!�� 6444�
I'.�25J K� '� '��� '� .����� ��� '� ��O������� � ������� ,���������� �� ,� � ��
�� --�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3 �����
;1;R;65 � �� 1225�
I'&�29J ��K� '��/�� &� .� &����� ��� #� &� ������ (�������� �� ' ����� ���
#�����% ��� >��� '��� ������ #������� 8����� &�$%&'%29%133 '���� ��
&��� ��� '������ &������� ���� $��������� 7����!�� 1229�
I'&*�44J ��K� '��/�� &�.� &����� (� *��� ��� #� &� ������ ( '���!� (�������
�� #�����% ��� '��� ������ �� ,� � �� �� -5�� (����� )��/� +�������� ��
'����� ( ��� �� 0)+'(4663 ����� 1R16 � �� 6444�
I'�K26J ,� '�������� #� ��� ��� (� K ���� &���������� ,���������� 0�� �����
�� &����%&������� 7$�( ��� &)�( (�������� ���� �� ,� � �� �� .1��
(����� )��/� +���� �� '����� ( ��� �� 0)+'(/1-3 ����� 34R21 1226�
I'��93J (�� ��� '����� '�? ����� ,������ ,���������� �� ������ "�����������
)*** '����� 11@16AH9R61 >����!�� 1293�
I'��31J .��� '����� (�������� �� ��� (��������� �� ��� "0, � ����������� &��%
� ��� '������ +,)* 623H6;1R6;3 1231�
I'��36J (� �� '����� &���� ��������� �� '�������� +���� ����� ;9:R5:4 '��%
���!�� 1236�
I',33J ��0� '���� ��� (�8� ,��+� �� ����������� ,������ ������ ��� �� ,�������
,���������� )*** ����� �� '������ &%:9@5AH5<6R59: ��� 1233�
I''&�22J "� '���� 7� '�������� '� &���� &� ,���������� �� ��� (� 7���� � #��
>����� �� ��� ,8)��' &������� �� ,� � �� �� )��/� '���� �� '�����
'����� ���� ����� 5<6R59: ����� 1222�
I#02:J >��� # ��� ��� '��� 0������ ���������� �� &���� ,���������� �� � . �%
.���� � ������������ �� ,� � �� �� -6�� (����� )��/� +�������� �� '���
��� ( ��� �� 0)+'(4173 ����� 693R633 ��� 122:�
I#025J >��� # ��� ��� '��� 0������ 0/������ &���� ,���������� �� . �%.���� � %
������������� ('� ����� �� '����� +����� 1:@1AH59R53 ��!� ��� 1225�
133 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
![Page 206: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/206.jpg)
I#"(�22J ��N� #��� �� " ��� &� (�� >� �O� ��� ,�&�N��� #�� ' �����������
,�������� (�������� ��� )*** ����� �� '������� +� ��� )��� �� ������
����� ( ��� ��� ;3@2AH331R246 '�����!�� 1222�
I��2;�J ��0� �������� ��� 8��� ������ ��7#H ( ����� 0�� ��� 0����� '�� �����
�� '�����%������ � ������������� �� ,� � �� �� + ��� )��/� =������
�� �������� (�������� ��� +��������� �� '����� ��� �� ������ �����
+����� 0�(+'?�+/123 ����� 641R649 ��� ��� 122;�
I��2;!J ��0� �������� ��� 8��� ������ #�� ,�������� ��� )�% ��� "�!��� &��������
,������� �� . �%.���� � ������������� #������� 8����� � �!�� ;24 &��%
� ��� '������ >����������� $���� �� 8��������� 7�� N��� 122;�
I=K2;J >� =����� ��� #� K������� �� +,(>' ( ��� �� ������ E���� 1�
,������� "� 0������� &�/� 7��� 122;�
I=)#�25J '� =�� �� )���� 0� #����� �� '���� ��� (� K ���� #�� ', ('"%6 ,��%
�����H &���������+����� ��� ������������ &�������������� �� ,� � �� ��
--�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3 �����
6;R:< � �� 1225�
IN844J "� N ��� � 8� ��������� (������� 8�� ����� ,�����+������ �� ,� � ��
�� -666 )��/� '���� �� +�� �������� 0)'+4663 ��� 6444�
I*��22J N� *����� "������� ��� '��� ����� ,�����+����� �� >'� � �������������
,��>� #����� $��������� �� ������ �� $�!���%&�������� >��������� ��
0������� ��� &��� ��� 0���������� ��� 1222�
I*��21J "� *���� +�� ������ �� ,����� ��� E �� '������� (&� ,���� 7��
N��� 7�� N��� 1221�
I*,K�22J N� *���� �� ,�� ���� ���� K��+����� � 8� �������� ��� �� #������� (
��������� ��� '��� ����� ,�����+����� �� >�����! ��� '�����%������ � %
������������� #������� 8����� &'8>%1536 $��������� �� ������ �� $�!���%
&�������� � � 1222�
I*8#23J N� *���� � 8� �������� ��� �� #������� "������� ��� '��� ����� 8 �%
#��� ,�����+����� �� >�����! ��� '�����%������ � ������������� �� ,��
����� �� �� 2�� )��/� +�������� �� 8����,����� '����� ( ��� �
�� 08,'(41$3 ����� 1<6R19; ��!� ��� 1223�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 132
![Page 207: diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · Prebúsqueda Hardware, Soporte para Reducción, y Almacenamiento de Estado Especulativo en Multiprocesadores de Memoria](https://reader035.vdocuments.co/reader035/viewer/2022063009/5fc0cc3f942fc87f606416d3/html5/thumbnails/207.jpg)
References
I*8#22J N� *���� � 8� �������� ��� �� #������� "������� ��� '��� ����� ,��%
���+����� �� ,������%,���� ���� �� >'� � ������������� �� ,� ��
���� �� �� %�� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4113 ����� 1:5R1:2 ��� ��� 1222�
I*#25J *� *���� ��� �� #������� '������� � ����� �� (���������� �� '�����%
������ � ������������H ������ .������ ��� K�� � ,����������� �� ,� �
�� �� --�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3
����� 133R122 � �� 66R6; 1225�
I*N39J &�E� *� ��� ,�&� N��� ( '����� �� 0������ >��� >��������� �� ����
� ����������� '������� �� )*** ����� �� +����� *������� ����� 96<R
9:2 � �� 1239�
124 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM