207
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

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

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

$�!���%&�������� ��� ��� � �������� ���� � ���� �� ���� ������ '����� ������ �� �

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

� �� ��� ���� ������ �� � ��� ���!��� �� ��� �%(&)�( ��� � �� $�!���%

&�������� ��� �� ����� �� �� ��� ��������� �� ��� � �� *�����+�� � �������� �����

���� ,�� ���� �� ����%���� � ���� �� ���� �� ������- � ��� ���� �������� ���� �%

����� ���� ���� '����� ������ ��� �� ����� ��������+ ��� � ��� ���� ��������� "� ���

����� !��� ��� �� �� ��������� � ������ �� ������� ����� �� .��+ ��� ,�!� �!�����+

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

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

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

�� � ���� ������� ��� ���� ����� ������� �� �� ��� �/���� ����� ���� � ��� ���

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

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

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

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

#��� ���� ��� !��� � ������� �� ���� !� ��� �������� �� 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
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

��������

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

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

:�; ,���������� ���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ;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

# $� ���%� � �� �� ��%���& ��� ����� �'� $��� ��(�'�� � � ����� ��� )�

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

<�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

/�����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
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

���� � ��� ��

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

;�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

<�; '����� �� ��� ����� . ��� ���%���� ����� ! � ���� �� !� ! /����� � � � � � 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
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

���� � ������

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
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

������ �

��� ��������

#�� �����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

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

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

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

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

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

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

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

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

��� �����

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

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

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

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

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

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
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

������ �

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

>��� ����������� ��� !��� ����� �� ���� �� � ������? � �� ���� ������ ������ ������

�� � ������������� "������ ��� �/���������� �� � �������� ��������� ������� �� ���

��� ����� �� ��� ���� ������ ������� �� ��� �������� &���������+��� ��� �������� ����

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

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

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

�� ���� ������� �� ����+� ��� �������� ���� ������ �� � � !��� �� ��� ', ('"%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

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

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

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

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

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

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

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

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

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

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

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

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

��� �����

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

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
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

������

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

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

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

', ('"%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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

��� �����

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

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

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

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

������ !

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

��� �����

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

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

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

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

������ "

� ����"� �� ����� ��"� ��� �

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

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

'��� ����� ������%��� ������+����� ����������� � �� ����%��%����+� ����� �� ������

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

���� ����� �� !� ��������� ! /���� ��� ����� � �������� ' �� ����� ��� ���� �������

� ���� �������� �� ��� ���� �����!�� ( � ����������� � �� ! /�� ��� � ���������

������ ���� ����� ������� ��� ������! ��� ������ ! /��� ��� ���������

#��� ������� �������� � ���� ��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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

��� �����

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

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

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

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

������ #

����� � ��"� ��� $���

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

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

� � �� ���� ������ ����� ! /����� ������� �� !� � ���� �� ���� ��� ���� ����� ������%

��� ������+������ "������ ������� !���� �� ���� �������� ���� � ���� �������� ���%

��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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

��� �����

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

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

������ $

����������� ��� ��� � %� &

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

� ����������� ������ �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

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

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

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

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

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

�""���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

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

.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

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

%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

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

������ ����� ��� 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

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

�� �������� ��� �� ��� 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

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

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
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

�""���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

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

�""���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

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

��� �����

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

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

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

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

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

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

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

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

&�������� &����� ��� ' ������� ���� 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

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

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

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