Prebúsqueda Hardware, Soporte para Reducción, y...

Post on 02-Oct-2020

1 views 0 download

Transcript of Prebúsqueda Hardware, Soporte para Reducción, y...

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

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

A mis padres Santiago y Angeles, y a mis hermanos.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

��������� #�& 1223%4511%&46%46 ��� #�& 6441%4225%&46%46- 7������ '������ �� �������

���� ������ &&8%29:;;91� (&�%239616< 0�(%2295413 &&8%2294;33� 0�(%4431:49

��� 0�(%4496146- ��� !� ����� ���� �.� ���� ��� "�����%,�������

��������

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

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

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

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

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

* ����� �� ��%���& +���� ����� �'� $��� ��(�'�� � � ����� ��� ���

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

/�����0 �1 50 !��� �� ���� ����$2�3 ������! �� ���

�������� ��6

���� � ��� ��

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;

���

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

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

���� � ������

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�

������ �

��� ��������

#�� �����B� ���� ��!����� � ��� �������� ��������� �� ���� ������ �� � �����������

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

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

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

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

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

�� �� � �� �� ���� ������� �� ������! "#�$%&�

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

'����� ������ � ������������ �/�� ��� ���������� � ����� ������ ������� ����� ����

� ��� ���������� ������ ,��������� ���� ������ ���� �� ������ �����!�� �� ������

���� � ���������� ����!� �� ��������� ��� ������ ������� ��� ���� ��� ������� =���

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

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

��������� ��� ���������+����� �� ��������� )�� �������� �� �� �� ������ ����%������

����� ������ ��������� �� ��� �����!��� =��� ���� ��� � ��������� ��� ����� ��� �������

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

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

'����� ������ � ������������ ��� ���� ��� ��/����� ������+������� �� ��� F��� ���

���������� ��� ������ ��� ��������� ���� �� �� �������� ��������������� ������� ����%

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

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

��������� ���� �� � ������ ��������������� ������� ��� � ���� �� � ������ !�� >��%

1

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

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 :

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

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

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

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

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

References

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

������%��� ������+������ �� ���� �����B� ���� ������ �������� � ���� ��B����� ��

��� ��/����� ���������� �� ����� ���� ����� ������ ) � ��B����� ��� ��� � ����

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

�����F�� ��� ���������� !���� �� ��� � ����� ��� � ���� ����� ��� �������� ��� ���

���� ������ ����� ������ =� ������� � ������� ������/ ������� ��� ��� ��� �

��� ��/����� ���������� ���� � ����� ��������� �� ���������� =� ����������+� � ���

�� ����������� ���� ��� ��������� ��� ���� ����� ������%��� ������+������ ) � ���

�������� ��� ��� �� ��������� ��� ���� !��������� �� ���� ����� ������%��� �������

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

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

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

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

=� ��� ��� ��� ����������� �� � � �������� ���%�������� ������ ��� ������� �� ��

� ������ ���%�������� ���� ) � �� �� ��� ��� ��� � ������� ��� ����� �� ��� ��O��

��� �� �� � � �������� ������� ��� ��� F������ �� F��� �������

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

#��� ������ �� ������+�� �� ������ &������ 6 �������� � ����������+����� �� ���������

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

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

&������ : �� ������ ��� ��� ��� � ��%���� "������� ,������� ��������� ��� . �%

!���� � ������������� &������ ; ����� �� ��������� �� � ����� ����� �� � '���!�

'����� ������ � ������������ �� �����% � ����� ��� ����� ���������� ��� ���� ����

����!�� &������ 5 �������� ������/� �� ��� . /����� �� '��� ����� '���� �� '��� �����

#�����% ��� '��� ������ &������ < �������� � �������� ������ �� ! /�� ����� ����

� ���� ����� ��� �������� ��� F��� &������ 9 � �����+�� ��� �������� � � �� �����

Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 2

��� �����

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

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

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

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:

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

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

������ �

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

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

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

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

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

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

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

�� ���� ������� �� ����+� ��� �������� ���� ������ �� � � !��� �� ��� ', ('"%6

������������ =� ��� ��� ��� ���������� �� ���� ���� ���� � �����F� ������� @�����

��? ����� ������ ����� ��� ��� ����B ���A ��� ��� � �!�� �� ����� �� � ��� ���� �

��� ����� � ������ �� ������� @��? ���� �����A� =� ��� �� �� ��� ����������� �� ���

�������� ��� ��� ��? ���� ����� �� ��� � �!�� �� ���������� �B�� ���� ��� ����������

������� ���� 1 �� :6� ) � ��� �� ����� ��� ��������� �� ��? ����� ��������� ��� �� �

����� �B���� ��� �������� �� ������ ��������� =� ��� F�� ���� ��� ���� �� ��� ��� ����

����������� ���� ��� ��� �B������� �� &������ ��� 8���B ��� ������� ������! ����

������� �������� ������������ �� ��� � �!�� �� ���������� �B�� ���� ��� �����������

(�� ��� ��? ���� ����� ������� ������� ���� ��� � �!�� �� �����������

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

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

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

�� ������ ������ �� ���� ������� �� � ! �%!���� � ����������� ���� ���������� ����

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

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

�������� �� ������ ���� ������ �� � ������ ���������P� ����� ��� ���� � ������ @:44 %

19

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

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

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

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

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

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:

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

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

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

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

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

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

��� �����

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

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

������

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

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

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

', ('"%6 ������������ �� ���� ������� �� �� ��� � �� �������� �������� �����������

���� ������ �������� �� �������� ����������� ��� ��� ������ �� ������������ �� �� ���%

���! ��� ������ ������ @>'�A ��� ����� ��� ! �%!���� ������+������� ���� ���� ���

!��� ���� �� ��� �����B� �� ! �%!���� � ������������� �� ���� �����B� ����������� ����� �

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

������%��+�� ���������

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

��� ������� ��G ���� ��� ������� ����������� �� ��? ����� ��� ���%��? ����� ��������

����������� ���������� �� � ! �%!���� � ������������ =� ������� ��� ����������� ��

�� � ���B������� �������� ����������� ������? �� ������� ��� � �!�� �� ����������� (����

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

�������� ����������� �� ���� ��� ����������� �� � �� ������%��+�� � �������������

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

(������ ���� ����������� �� ������%��+�� ! �%!���� � ������������ �� ����������

#���� �������� ��� !���� �� � ����� ! � FB�� ��� ���%����!� ������+����� ��� ���� ��

���� ���� ��� ���� ������� &,$ ��� ������ ��? �������� �� ��� ������������ #��� ����

�� !����� ��������� ����� ����� ��+�� !�������� ��� F�� ���� ����� �� �� ���� ������

�� ��������� �� ���� ��� �� �����������%������ ����%�/������ ����������� ������+������

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

::

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

��� �����

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

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

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

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

������ !

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

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

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

8�� ������ ��� ��������� ��� ����%���� ���� ���������� �� ���� �������F� ������ 0�%

������� ������+����� �� ��� ������ �� � ������� �������������� ��� ��� ������+�����

�������� ��� ������ ������� ������������ $����� ����� ����������� ��� ����� ����%

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

�� ���� ������� �� ������� ��� ��������� �� � ����� ���� �����F����� ������% � ���%

�� ��� ����� ��� ����� �� ����!� �� ������%������ � ������������� #�� ��? ���� ��%

������� �� ������� ��� ����� ���F��� �� ��� ��������� ���������� 0B��������� ��� ��

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

����� ��������%��� ��� ����� ������+����� ������� ������� ����� �� �� ��� 6�9 ��� 1<

���������� � � ������ ������� ������� ����� �� �� 9�<�

$�� �����������

> ���� ��� ��� ������ ����������� ���� �!������ ���������� ��� ���� ������+���

��������� ' �� �������� ��� ������ ��� �B���� �������� �� ��? ����� ���������

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

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

�� �������F� ����� �� ��������� ���� �� ���������� ���� �������� ���� ��������� ��

������+� �� �� ���� ����������� ( ��� ����� ��������� ��� �� ���� �� ����������� ���

5:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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:

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

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

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

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

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

��� �����

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

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

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

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

������ "

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

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

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

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

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

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

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

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

#��� ������� �������� � ���� ��B����� �� ���������� �� ! /�� ��� ������ � �� ������

#�� ��B����� ��� ��� � ���� ���������� �� ��� �������� �� ��������� �� ��� � � ��

�������� ����� �� ������ ������ =� ������� � ������/ ������� ��� � ������� �����������

��� ����� �� ��� ��/����� ���������� ���� � ����� >'� ��������� �� ���������� ) �

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

�������� �� � ��������� �� ���� ����%�/������ ���� � ����� ��� ������� ��� ����� �� �����

���� ������ �+��� �������� !��� � ������ ���� ��������� �/���������� ��� ��� !�

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

���� ��� ���� ��������� �� ����� ! � ���� �B������� �� ���������

'�� �����������

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

����+� ����� ��� ����� ���� �������� ���������%����B�� ��� �� ��� ����������� ��

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

���� ��� ���� ������ � � ���� �� ����� ������ ��� �� ������ ��? ����� �����%

3:

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

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

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

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

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

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

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

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

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

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:

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

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

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

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

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

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

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

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

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

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:

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

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

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

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

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

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

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

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

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

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:

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

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

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

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

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

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

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

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

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

��� �����

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:

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

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

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

������ #

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

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

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

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

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

��B��� ���� ����� �� ���� ���� ��� ���� �� ! /����� ���� ����� ������ #��� �����B���

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

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

��� �+� � � �� ���� ������ �������� =� ���� � ���� ����� ������� ��� ! �� �

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

���� ��������� ) � ������ �B������ ��� ��O�� ��� �� ��� �������� ������ �� ����%�>� ���

�������� ��� ����� !� F������ F��� ������ !�������� ��� ����� �� ���� ������������

) � ��� ������ �� � 1<%��������� &&%7$�( ���� ���� ��������� ��� ��� ) � ����%

���� ������������� ��� ���� �� �������� �� � 9V ���� � ������ ��������%��� ������

���� �� ������� ���� �� ��� �������� �����B����

,�� �����������

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

������ ����� ���� � ���� ����� ��� � ���� �������� @� ��#C��A ���� ���� �����

������%��� ������+������ =� ���� ��� ��������� � ���� ��B����� ���� �����F�� �B��%

���� ������� !���� �� ��� �������� ����� �� ! /�� ���� ���� ����� ������ ������ ) �

��B����� ��/���������� !������ (�������� �� ���� ������ @(��A '������ ��� � %

169

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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:

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

��� �����

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

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

������ $

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

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

� ����������� ������ �B�� ���� �� ����� ������� �� ����� ���� � ����� ����������� =�

���� ��� �� ���� ���������� �� ���!� ����� �B�� ���� �� ����� ���� ��� ���� �� ����+�

! � ���� � �����F���� ������ �� ��������� �� ������ �� �� ���� ����������+� ������ ��%

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

����� �� ��� � !���� ������ ����� �� ! �%!���� � ����������� �������� =� ���� ���

�������� �� ��������� �� � ����� �� ������+� ��� ��� ����� ���������� ���� ������ ��

���� �������F� ������ ) � � ����� �� ������ ��� �� � ���� ��� ��� ��� ������ ���� ������

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

����� ���� ���� ���� ����� ������%��� ������+������ =� ������ �� � ��B����� ��

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

������ ���� � ������ ���� ����� ���������� 7�B� �� � �����+� � � ���� ���� �����

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

1�� ������ ���

6���� �������� �����

#�� ���������� ��� !������ ��� ���? ���� �� ��� ��������� ��� ��� ���� �� ������ ����

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

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

( �� ���� �� ���� ���!�� ���� ���� ����������� ���� �� ���� �� ���� ��������� �� ����

������ �� ���� � ������ ��������� ��� ���� �� ���� F��� ��� ���� ��� ��������������� ��

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

159

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

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

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

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

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

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

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

.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

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

%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

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

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

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

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

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

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:

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

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

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

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

��� �����

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

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

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

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

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:

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

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

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

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

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

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

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