parallel algorithm for integer sorting with multi-core processors

13
!' # information technologies and control Key Words: Parallel algorithm; sorting; counting sort; multi-core proces- sor; shared-memory. Abstract. This paper investigates the problem of optimizing sorting of large data sets by applying parallelism. Six variants of a parallel algorithm based on Counting-sort, designed for shared-memory parallel architectures are implemented. Counting-sort is applicable for sorting integers in a given range and is faster than all known sorting algo- rithms. A speedup from 1.1 times to 4.8 times with respect to the sequential algorithm, achieved by the implemented algorithms, which we called P-CountingSort, PaddingSort, StepPaddingSort, BlockSort, LoopBSort, PNLoopBSort, is demonstrated. Optimization techniques for multi-core processors of the contemporary PCs and investigated the speedup after applying the proposed techniques are applied. The performance and scalability of the implemented algorithms are mea- sured under different conditions and distributions of the input data. Based on the experimental results, the PaddingSort algorithm achieves maximal speed-up for significant key ranges and a multi-processor system. We made recommendations for future research based on the conducted experiments. 1. Introduction This paper investigates the problem of designing an effi- cient parallel sort algorithm for shared-memory parallel com- puter systems. The development of multi-core processors deter- mines the motivation for this research and the focus on optimiz- ing the speed of SQL queries with parallel architectures. At the present time, working with multi-core processors of the personal computers is becoming a customary practice, which determines the future development of programming in order to obtain the maximal benefit from the organization of parallel architectures. Sorting is a common operation in database systems. Accelerating the process of sorting is important in the area of Online Analytical Processing (OLAP), where the usage of a data warehouse suggests processing tens of millions of records, due to the presence of historic data. The basic operations that are typical for OLAP are rollup, drill-down, slice and dice, pivot, ranking, sorting and selection. As the tables in the warehouse grow in size, the time needed to perform the operations and answer user queries grows as well. An approach to optimizing the query processing is applying parallelism to the most time- consuming database operations. The parallel sort algorithms, presented in this paper, are based on Counting-sort, which is one of the most efficient op- erative algorithms known at the moment [17]. The high speed of sorting makes the algorithm interesting both from theoretical and practical point of view. Research has shown that Counting- sort is faster that all existing sort algorithms when certain con- ditions are met (integer keys in a given range)[17]. Many sort algorithms exist at the present time, and QuickSort is one of the fastest, with many developments for its optimization. According to the authors knowledge at the current stage there are no developments or attempts to parallelize Counting-sort, based on distribution of records by key value, although such algorithm can find wide practical application in database systems and OLAP. Counting-sort is sorting by key or sorting by key and number. Sorting by key and number is applicable for sorting records in a database. The records consist of a key and a number - integer in a given range. The number is used for unique identification of the record and it is defined as identifier. Summary of Contributions: The paper offers the following contributions: - In Section 2 we present a survey of the existing parallel sort algorithms in comparison to the algorithm, proposed in this paper. - In Section 3 we describe the general organization of multi-core processors and the experimental processor. We present the notation, the algorithm and the implementation of Counting-sort and we illustrate the sorting mechanism with an example - sorting an array of ten records. - In Section 4 we propose a parallel sort algorithm in six variants, which we call P-CountingSort, PaddingSort , StepPaddingSort , BlockSort, LoopBSort and PNLoopBSort . We illustrate the parallel sort with an example - sorting an array of 4*N records with four processors. - In Section 5 we present results of benchmarking the variants of the algorithm with multi-core and multi-processor systems, based on running time and achieved speedup with respect to the sequential algorithm. We investigate the influence of the design and the scale of the parallel architecture and the characteristics of the input data over the execution time. The scalability of the proposed variants of the parallel algorithm is evaluated. - In Section 6 we make general conclusions about the applicability of the proposed algorithm based on the experimen- tal results and recommendations for future work. 2. Related Work Comparison of Keys: Many parallel sort algorithms have been invented, that are based on comparison of keys - [4,7,11,14,18]. The comparisons create a large amount of conditional branches that cause stalls in the processors pipe- line. The contemporary processors, which gain huge benefits from the branch prediction hardware, cannot use this hardware for sorting due to the execution of comparisons of keys with unpredictable outcome [6]. Publication [7] approaches the prob- lem of decreased performance by applying SIMD instructions for eliminating the conditional branches. Parallel Algorithm for Integer Sorting with Multi-core Processors S. Stoichev, S. Marinova

Upload: others

Post on 12-Feb-2022

26 views

Category:

Documents


0 download

TRANSCRIPT

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

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

�� ��� �������������������������������������������������������� ���� ���� ��� �������� ������������ ��� ������� ��� �� ���������������������������������������������������������������������������������������������������������������������������������������� �� �� ����� ������ ���� �� ������ ���� ���� ��!�� ������ ����������� "� �������� ����� #�#� ���� �� $�%� ���� !�� ������� �� ����&�������������������������������������������������!���!�� ������� ������������� ����������� �������������� '��� ����(���'����� �)(���'����� �� ������������ *������� ����&���������������� �������������� ��� ������������ ���� ���� �������������������������������� ����������������&����������������������������������������������� ��� ��������������������������������� ������ �������� �������� ���� ��������� ��� ��� ���� ����'����������������������������������������������������������������� ��������� ���� �������� ��� ������� ���� ����������������������+������������������������������������������������������������ ����������

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

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

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

������������������ ������ �������������������� �����������'���� ���� ���������������������������������������������� �������!����������������()*+�������� �������������� ���!��������� ������������� ����������������������������������������������,���������������������'���� ������������������������"���� ������� ����������������������������������%��� ��!�������� ����� �&()*+��-�������� ��������"��������������������� ��������!����������������

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

'���� ����� ��� ���� � ��� !��� �� ���� � ��� !��� �������� ���� � ��� !��� ��� ����� ��� ����������� ��� ���� ������ �� �� ���������� ���� ������ ������� ��� �� ��� ��� �������� .� ��� �� �� �� ���� � ��� ���� ����� ��� ����� �����������������������������������������������������������

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

�������������������������� �����������/. 0��������1��������������������������"���� ��������

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

. 0� ������� 2� ��� �������� ���� ����� � �������� ������������ ��������� ��� ���� �"��������� ��������� 3������� ���������� � ������ ��������� ���� ���������������'���� ����������������������������� �����������������"������.����� �������������������

. 0��������4��������������������������� ����������"������ � ������ ��� ����� ������������� ��������� ������������ �'��� ��� �(���'���� ����)(���'�����3�����������������������������������"������.����� ���������45)�������������������������

. 0� ������� 6� ��� ������ ������� ��� ������!� � ���������� ��� ���� �� ������ ����� ���������� ��� �������������������� � ������ �� �� � ����� ��� ��������� �������� ������������������������������ �������3�������� �������������������������� ��������������������������������������������������������������� ���� ����� ��������� ���� �"������� ������ ������������������������������������������������������ ������������������

. 0� ������� 7� ��� ��!�� ����� ���������� ������ ���������������������������������� �������������������"��������������������������������������������!�

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

��������������������-����������������� ��������������� ������ � ����� ��� ������ �� ��������� ��� !���� .(4 * )) )4 )8+�� ���� ���������� ������ �� �� �� ������ ��������������������������������������������������9������������ ���� ���������� �������� ������� ��� �� ������������������������������������� ���������������������������� ����� ��� �����"����������������������� !����������������������������(7+��$����������(*+����������������������������������������������������� ��0-:��������������������� ����������������������

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

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

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

'����������������������������������������������������� ��������������� ������������������������������ ������������� ��� ���� !���� ����� ���� ��������� ��� !���� .() 1 6 8 );+�������"���� ����������� ������������������,���"��� ���������������<��!�������

(���� ��!��)��������� ����!���$����������(6+������� �������� ������� ��� ���� � ��� ��� � ���� ���� �� ������ ����� ����������������� ������������������������������������������������������������� ��������� ����������������������������������������������������� ���������������������������������������� ������������������������������������� ������ �������������������������������

����� �"��!� !���$���!�� ����!������������*+������

����� ������ ��������������������������������������������������� �������������������������������=���������� >��������������.�(1; )?+�����"��������� �(2 )8+�

������ $������������������������������������������������������ ������������������"������������ ������������'���� ���� �������������������"����#%@AB

��"& ������)�������

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

���������� ����������!���� �()*+��������� ���� �������� �� ������ �������� �� ����� ����� ��� ����������������������������� ����� ����������������������������������������"����������������������������"���� �� ������� �� ���� ����� ��� ��� �� ���� �� 0�� ��� ��� ������ �������������!������� ���������������������� ������������������������������������������������������������������

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

,���� )� ���-������ ��� �!�� *+����������� #���$����

���������

-��������������������� �������������������������'$C���������������������������������D�������������������� ��C����� �� �����������������������������������������

�������������������������!������<������%��<�&��:������ ����������� �������������������������������������������� ��������������������E����������������"��� ���������������������������)������������������������������1����2������������������������������������������������"�����������0�����77;;�B���������0����������������'$C�������������������� ����������������� �������������������������-�����#�������������� �������������������

,���� ������ $����

0� ��������������"����������� ��� ������!�����'���� ��������������������������������������� ������ �!����������������

,������.�������

"������������������)��������������������D��������"(+� %)≤≤)&� ���� ���� ����� ���� ��� ������� ��� �� ������� ������ ���!���,���(,

����,

���+�������������������()

����)

���+�

F�� ������ � �� ���� �"����� ��� ��� �������� �����,��

G)���)

��G) ������� �������� ������������������������ �� ������

���� ��� ��� �� ������ ���� ������ "(#+ � "(.+ ���"()+� �������� �� ������ � ���� ������ � ��� ���� !��� , � ����� �������������GH�

# ��

. ����

)I�%�

���()��)

���+&������������������/

"%�#&�,≤"%�

.&�,≤"%�

/&�,≤����≤"%�

)&�,

���������������"%�

&��G�

�����)≤≤)�

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

������ ���������'���� �����������������������������/0#1�2������ ���������������������������������������

����������������!����������!���J0.1�*�������������������� ��������!������������

���������� ��������!���������� �������������������������������������������%���������������������������&�

������������������������0#1� �������� ���� ���� �� ��'�����������������.�������������������������������

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

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

�������������������������� ������������������������������ �������� �� � ���������������������� �K������������������������������������������������������������������������'���� ���� ���������������������������������� �������������������������������������������������������������%�"����������)(���'������ �����&����������������������������� �������� �� ������ �������� ���������� ��������������� ��������� ��!�� �������� ����� � �������� ������� � ��� � ������������������������K������������������"�������������%1&�*����������������������������� ���������������� ���������!������������������������������������� ������"�������������������0#1�2�������

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

������������!����������������������� �'����� �����.��������������������������������0������������� ����� �"����� ���� ������� ������������� ����� ����� �������������������������

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

. ������������������,���

J. ������������������)

���J

��������������(+� ������������������������ �����������������������!���,G��������������������������������������������(+��������������"���������"�����������������������-�����$����������� ���� ������ ��� ���� � ��� ���� ��� ��� �����%������/&������!���� ��,

���G6�

0�� ��������� �� ����!�

���������������������"���������������������������� ������������� '���� ������ ���� ������� �������������������������������������� � '���� ����� �� �� ������������������ .� �� ������ ��������������%������������& ����������������� ������ �� ���� ����������9��������������� ��� �� �������������� ������ �� ���� ��������� ��

������ �������������� ���� ��������� � ������������ '��� ��������)(���'������������������������������������������������� �������������������������!���!����������������� ��������� �������� ��� ���� �������� ���� ����������� ��������� ������������������'��� �����������������������������!�������������� �����(���'��������)(���'����� �����������������������������������������������������������"������� ������������ ���� �� ������ ��������������� ��������� ��� ��! � �������� ��� ��� �������� ��� ���� ������������ �������������������������,

���/

%)&� � � � � � � )./(),,( maxmax KppNpKNT +Ο=

�����)� ������������������� ��������J�,����

��� ����!���� � ������������������������� ����������������������������������������������������������������������������������������������F������%)&�����������������"��������������'���� ����� ����������������������������)L��A���,

����

� 0���� �$������ ���

����������������������������������������������������� ��� ���� ����� ������ ���� ����� ���� "� ��� �������� ���� ������������������������������� ��������������������������� ����� ��� ��������� �� ���� �������� D���� �� ���� ������������������������������������������������������ ������������������������"��������������������������������������������������������������������'���� ��������=���������������>���������������������������������"���������������������������������������%������.&������������������������������������ ���� � ��� �� ���� ������ � 45)� ������ ����� �����������������������������������3��0���������������������

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

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

(� ��� ��� $� ��� ������������� ��� ����� 0#1� 2������

(� ��� ,�� D"������ ��� �� ����� ���� �� ����� ��� �����

(� ���0��������� �������������������� � ��� �����

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

��������������������!���� ��������"�����������������������������������������������������������.��� �������������������������������������������������������������!���� ���

0���� ����������

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

� ������������������� ����������������������������%(? )7+&�<�����������������������������������)������������������ ������ ������ �� ����� ���� �)� ������ ������ ��� ���� ����������������������������������������������������������� D"�����/� 3��� �"����� � ���� ������� �� ���� ����������� �����������������������K���������������� ��������������� ������� ����������������������� ����������������������������������� �������������� ��������������!����� ������ ���� =������> � �������� ����� ���� ���� � �������� ������������������� �� �����������������������������������������������������������������������!���������������� ����������� ���� ������� ��� ���� ���� ������ ������ ������ ��� ���������� ���������� ���� ��������� ��� ���� �������� ����� ������ ��� ����������������� �����������������!���������)18�������%)18���������������������������������������������� ���� ������ ������ ��� ���� ���� ������ ��� 0����77;;�B�������&��������������������������������������� ������K����������������������������������� �����������!������������������������������� �����������������������������)18������� ��������������������

0�,�� � ������������

���� ������ ��� ���� �������� ���� �� ������ ������������������������������������������������������������������ ��� �������� � ���� ������ ������ ������ ������� �������� �� ���� ��������� ���� ����� ���� "� ��� �������� �����L1���������� �� ���� � ����� �� ��� ���� ����� ��� �������

������D����������� ��������������1����������� ����������� �������������� ���������������������� ������������������������������������ ������������������������������������������ ������������������$�����������)����$�����������1���������������������0���G8 �$�����������)����� ��������"()�8+ �"()*�21+� ���� � $������������1��������������"(?�)7+ �"(22�48+�����������������/�����$�����������)������������"()+ �������������������������������������������"()�)7+�������������������������������������������������������������������� �����$������������1��������������"(?�)7+ ��������������� �������� ��� �������� �� ���� �1� ���������� ��������������������������������������������������������������������� ����������"��������������������������������������������������������� ��������������

0�0�� ��������

���� ����� ��� ������ '��� ���� ��� ������ � ���� ����� �������!������� ���� �� �����������9���1������������������������������������������ ���������������" ����

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

����� ��� �� ������ ���� ����!�� ����� ��"��� ������ �� ����� ��� ������.�������������������������������������!������������������ ���� � ��� ���� �������� ���� � ������ ����� �1����������� ������������!�

0�1�� ��������

���� �������� ����(���'���� ������ %����<� �����������������<��!��&��������"�������������������������������������������� ��'���� ���%&� ��� ��������� ���������� ����� ��������������������������������������� ����������������������������������� ���K��� ������������������������������� ��������������������������������������������������������� �#��-$9�����������D"�����/����� � � ��������!���������������� ������������������������������0����������!����� ��� ��"���� � ���� �� ������ ��� ������� �������������� ������������ �"�������� ����� ����� �� ����!� ����� ��� );;� ;;;

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

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

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

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

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

�

2����� ��� ��������� � ��������� ����� ����� �������������

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

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

��������� ��� ��������� ,������ � ���� #��-$� ������� ��������0����#444441����������������������������������);;�;;;���)���������������������������"���������������(���'���������(���'���� �� ������ ����� ���������� ��� ������ � ���� ��������� �

0�3�� ����������

����������������������������� ��������������)(���'���������� ��������(���'��������"������������� �������������������������������������%$@��$������@�"�&�������������������������������������� ������������������������������ �������������������������������������(?+������������� ���������)(���'������ ������������ �������������������������5)5������%���&����������������� �����������������������

1�� *+����������� *%�������

1���� '����������� ��� �!�� *+����������� ������

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

. ������#��������������/�������������1�7ME����������������1M<��������'������������������)��������������������21B<��'��������������1���������������������4�-<%��������8�-<��1����������������������� �8-<��1����������������������)&������������������������������������.� ������#��#����� ��������.�3������N�����D�������

. ������.��������������/��������������1ME�����������������1M<��������'������������������)��������������������8B<��'��������������1���������������������4�-<%��������8�-<��1����������������������� �)7�-<������������ ��� ������� 1&�� #����� � ������� .� 3������ ����1;;2�

1���� *+����������� '���� ���

����!�������������� ����������"��������������������������� ������9�����������/

. ,5#/����� ����������� ���������!���,G)J

. ,5#0,���

1/�����������������,G) ��"���������������� ����������!���,G�,

���

. ,5#0#16#0,���

1/������������������������,G) ��������������.�,G�,

����

���� ����� ����� ��� �"������� ��� ��� ���� ����������,5#0#16#0,

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

���������%�������������������������������������������7#8������7,

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

����� ����������� �������� ���� 'L'AA� �������� ��� �������� � ���� ����� �������� ��� !���� �� ���� �"������� � ����� ��������������������������� ������������

0�����������������������������������������������������������9������� �����!���.���������������������������������������������������������������!�� ������������������� ����������������������������� ���������������� ���������������������/

• �����������������������/����������������������������������� ���� ���������� �� ��� ���� ������ �� ���� "7)8� ����������� �� ��������� �()��)+���

"()+��≤�"(1+��≤"(2+��≤���≤�"()+��

• �9�����������������������/�����������������������������������"7)8������������� �� ������������()��)+�����������������������������������

3�� ������������������������������������������ ������ � ������ ������ � ���������� ��� ������ � �� ������� ������� ����� ������ ����� ���������� �������� ��� ������ ��������������������������������"������������������������� ������ � ������ ��� ��������� � ����� ����������� ���� ���������� ��������������������������������������������������� ����� ����� ����)�

1�,�� 4���!������

���� ������!� � ��� �������� ������� ���� ��������� ������� ����������� � ��������� � �������������'��� ��� � (���'���� ��� �)(���'����� ���� �� ������� ���������� ������ �� �� � ���� � �������� ��� ���� ����������� ����� �������������������������� �!���� � �!�������������� ������������������ �������������������� ���������������!���� � � ������������������������� ������

1�,���� ���

�������������� ������������������'������#��-$������������()2+���������������������������������� ������������������ ���������� ���������������'��� ��� �(���'�������)(���'���������������������"���������3���������������� � �!��������������������� ��������������������� ������������������������������������������

1�,����������

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

D"�������� ����� ����� ����� ��� ������ !��� � �� � �������������������������������)�4����������4��������� �������������������������������� �������������������������������������� �������������������������������������������� ��������� �� ������ ����� ��� ����!��� � ���������� ���� ���������� �������������������������������������������������%������:&�

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

�����"����������������������������"�������������������������� �� ������� ���������� ������������� ����!��� � ��������);;�;;;������������������)������������������"�����������������������������������������������������������������������������!���� ���� �����"������� ����� �� ������������8����������������������������;�����������������!���� ��������"������� ����� ��� ���� ����� ��� ���� ���� ��� ���� �������� �� ��������������"������� ����� ���������������� ��������������������������� ��������������������

�������������!������'����������

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

���G);� ;;;� ;;;/

. ,5#�����������������������������������������������(���'�������;�)6?%���� �&����;�)*?%���� �&���������������������������������!��������������

. ,5#0�1� ��������� ���� �������� ��������� �������������� ��� ;�;1%���� �&� ��� �������� ���� ���������������������(���'����;�)7%���� �&� ������� ��� ��������!��������������

O

O

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

(� ��� 7�� ,�� � ����� ��� ���� � ����� ���� ����� ��� ������ ������ � ���������� ����� ������� )

�

�����������"�)��������������������������������

�

���

���

��!

��%

�

���

���

��!

��%

�

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

�����������������&��..����'

�����������

��&���'

��'�� ��(���� ��)*��#�

����� �����)*��#�

��+����� �����)*��#�

,��+-�����)*��#�

��,��+-�����)*��#�

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

)*��#��$

����� �����)*��#��

��+����� �����)*��#��

,��+-�����)*��#��

��,��+-�����)*��#��

(� ��� �8�� ,�� � ����� ��� ���� � ����� ���� ����� ��� ������� ����������� ���������� ����� ������� )

�

�����������"�)������������. ���������������������

�

���

�

���

�

���

�

���

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

�����������������&��..����'

�����������

��&���'

��'�� ��(���� ��)*��#�

����� �����)*��#�

��+����� �����)*��#�

,��+-�����)*��#�

��,��+-�����)*��#�

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

)*��#��$

����� �����)*��#��

��+����� �����)*��#��

,��+-�����)*��#��

��,��+-�����)*��#��

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

(� ��� ���� ,�� � ����� ��� ���� � ����� ���� ����� ��� ������ ������ � ���������� ����� ������� )

�

�����������"�*��������������������������������

�

���

���

��!

��%

�

���

���

��!

��%

�

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

�����������������&��..����'

�����������

��&���'

��'�� ��(���� ��)*��#�

����� �����)*��#�

��+����� �����)*��#�

-(��.�����)*��#�

,��+-�����)*��#�

��,��+-�����)*��#�

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

)*��#��$

����� �����)*��#��

��+����� �����)*��#��

-(��.�����)*��#��

,��+-�����)*��#��

��,��+-�����)*��#��

(� ��� ���� ,�� � ����� ��� ���� � ����� ���� ����� ��� ������� ����������� ���������� ����� ������)

�

�����������"�*������������. ���������������������

�

���

�

���

�

���

�

���

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

�����������������&��..����'

�����������

��&���'

��'�� ��(���� ��)*��#�

����� �����)*��#�

��+����� �����)*��#�

-(��.�����)*��#�

,��+-�����)*��#�

��,��+-�����)*��#�

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

)*��#��$����� �����)*��#��

��+����� �����)*��#��

-(��.�����)*��#��

,��+-�����)*��#��

��,��+-�����)*��#��

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

(� ��� �,�� �������� ��� ���� � ����� ���� ����� ��� ������ ������ � ���������� ����� ������� )

�

�����������"�)��������������������������������

�

���

�

���

�

���

� � � � � ! " % & ��

�����������������&��..����'

�������&���'

����� �����)*��#�

��+����� �����)*��#�

,��+-�����)*��#�

��,��+-�����)*��#�

����� �����)*��#��

��+����� �����)*��#��

,��+-�����)*��#��

��,��+-�����)*��#��

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

�

�����������"�*��������������������������������

�

���

���

��!

��%

�

���

���

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

�����������������&��..����'

�������&���'

����� �����)*��#�

��+����� �����)*��#�

-(��.�����)*��#�

,��+-�����)*��#�

��,��+-�����)*��#�

����� �����)*��#��

��+����� �����)*��#��

-(��.�����)*��#��

,��+-�����)*��#��

��,��+-�����)*��#��

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

(� ��� �1�� �������� ��� ���� � ����� ���� ����� ��� ������� ����������� ���������� ����� ������� )

�

�����������"�*������������. ���������������������

�

���

���

��!

��%

�

���

���

��!

��%

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

�����������������&��..����'

�������&���'

����� �����)*��#�

��+����� �����)*��#�

-(��.�����)*��#�

,��+-�����)*��#�

��,��+-�����)*��#�

����� �����)*��#��

��+����� �����)*��#��

-(��.�����)*��#��

,��+-�����)*��#��

��,��+-�����)*��#��

(� ��� �3�� �������� ��� ���� � ����� ���� ����� ��� ������� ����������� ���������� ����� ������� )

�

�����������"�)������������. ���������������������

�

���

���

��!

��%

�

���

���

��!

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

�����������������&��..����'

�������&���'

����� �����)*��#�

��+����� �����)*��#�

,��+-�����)*��#�

��,��+-�����)*��#�

����� �����)*��#��

��+����� �����)*��#��

,��+-�����)*��#��

��,��+-�����)*��#��

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

�����!�����);;�;;;��������������������"���������������� ��������(���'��������)(���'���������������������� �������=>#. � ���� �� � ������������ ������ ������� �������� ���������������������������������������������������������������������� �������� ���� �� ����� ��� ���� ����� ���� ��� ������ ��������������������� ������������������!������������������������������������������������������������������

���� ������������������������������������������������������ � ��������� � �� ������ !��� � �� ��� ��������������������������� 0��������������������(���'���� ������������������ � �� ������ ��� ��� !��� � �� ��� ����� ���� ������)(���'���������� ���������������(���'����������������������� ������� !��� � �� ��� ������������� ����� ���� ����� �����������������������

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

> ���� �������!���� ���������������������������������J

> ��������!��� � ����������������� � �������������� � ����� �� ������ '��� ���� ��� ������ �������� ��

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

3�� ����������� ��� (���� ����

������������������������������ ���������������� ������ ��������� �������� ����������!���� ���������� ������������������������������������C�� ��)(���'������ ���������� �� �� ��������� ��� �� �� ������� !��� � �� ��� ������� � ������ �� ��� ������� ����������� ������ ��� ������������������(���'�����������������������0������������������������� ������(���'����������������������������� ���������������������������� ������������������������������������������������������!�����);;�;;;��������������������"������������������������������������������������������ ����� �������� �1� ������� ��� ���� ������� �"����������������������������������������������������������������������(���'��������������������������������!��������������������������������������������������������������������� �������������� ������9���������������������������!���� � ����������������������������������������� ������������������ ��������������������������������������������� �

��������������������������������������������������������������������������������������1��������������E����� ���� ����������������������������%�����4�8�����������������������������&��������������������������������������������������������������

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

> D"��������� ���������� ����� ������������� ���������������������1�����������������

> D"���� ��������������� ����������������������!������������-$0�

> ������ ��"���� �����������������������������#��-$������������������������������������������� ����������� ��� �������()1+������������ ������������ ���������������"��������(1)+�

> D������ � ����������������������� ����������������� �������������������������������3�������������������� ����������������������>������������ ������������ ���������� ����������������� ���������� ������� �������� ���� ��� ���� � ��� ����� ���� ��� ���� (?+�� ���� �������"������������������������ � ��������!����������������������������������������������������������

����������

)�� ������� � B�� ��� ��� ,�!��� ?�� �� ���� � �� ������� ��� '�����M����� $������� -�������� F����� 0��������� '������� �� E� ��$�������� '������ � )??*� $������ � � :���� )??* � )6?�)74�

1�� ���� � M��� � ������ M���� � M�� �� B����� � N���� B����� 0���������� ���$�������'������ �������D��������������3����� �1;;2�

2�� ���� � :����� ��� Q�� 3��� ,������� ���� � �� $������� :�������������� �E$'� 9;;/�$������ ����� ����F����� 0���������'�������� E� ��$�������� '������ � �� ���� �����$������� ,� �� � 1 0DDD� '������� ������� � 1;;; � 82;�

4�� D������� �E��������M��������,���� ��� Q�� 0 �����<����������#���� $������ �� @��� $������� ���� � �� ������ <����� �� #���D��-� ������ $:$� 9;*/� $������ �� ��� ���� )6��� D������� 0��������'���������$������ �:�������������@����!�<�����$������ �1;;* )8�11�

6��M��� �<��������:��E����� ��������R����� ����-��Q��M���� ���:��$����������������M������������$����������� ��� �������0DDD0���������������������$����������:����������$������ �1;;8�0$:$�� 1;;8 � ����� 1;;8 � )�6�

7�� M���� � M������ 0�������� � ���� � �� :�������� ��������� >� "�@������� ����� � @��� S�! � @S � C�� � 8 � 1;;7 );�

*��0����E�����������!���-����������E����!��B����������������@�!������������/���@���$����������� ��� ���������-�����'����0-:$���������$�'��9;*/�$������ ���������)7���0���������'��������$������� ����������� ���'���������� ��������� � 1;;* � )8?�)?8�

8�� E� ��� � ���� ��� Q������� $��� �� ��� $������� ���� � �'������������ :�-� -�������������� ����������� � 9??/� $������� ����� ����)???��'-L0DDD�'�������������������� � %':,#-& )??? � 4;�

?�� 0���� 74� ��� 0��21� ������������ #����������� ,������� -���������/LL���2���������L���� L�������L������L148?77����

);��B����� �S� �-������ �E����!�� ������!�� �B��E���� �S��S��� �����$������� D"������� ��� ,���"� ���� $� ��� C�� � F��� ��� '

������������ 0��������� '������� �� $������� ������������ ��'���������� ��������� � )??*�� $������ ��� @��� )??* � )27�)46�

))����β, -�����������'������������������C��9��D"������������$���������� � ���#��-$��$������ ����� ������"���3�!�������#��-$%D3#-$9;4& � 1;;4�

)1��@���� �,� �:�� B�� $����� 0����� ������������� ���#��-$�������������� �� -��������� �������� C�� � �� �� $� �� �������� 0DDD� 0���������� $������� ��� :���������� $������ � ��������� � 1;;* � 0$:$�1;;* � -���� 1;;* � )�8�

)2�� #��-$� ����������� $� ��� 0�������� ����/LL����������� L�����������L����2;����

)4�� $������� <���������� ��� $������� ����!����� 0�����������������/LL������������������L����L�������L�����L$�K����L$��� �L$����L�������)L,��������

)6�� ������ @������� ����������� -��� '���� '���� '�� -��� ���������������� �� ������ ���������� ������� ����/LL���������� ��L���L�������L�������L1;;?L�������������

)7�� �!��� ������������Q���� ,������� -�����'��� $� ���� /� 0������ �$������������ ����������-���������� ��0�������� �1;;7�

)*�� �������� � �������� :�� ��������� ��� �������� ��� �� �������� ����� 1;;*

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

)8����� �� �$�����S��T�� ���������� �F����$������� 0������������������!���� ��� ���� $�������� D��������� �� �C@� D������� );;;;�D�������D�������'���������:�������������@����!�<�����$������� � 1;;2�� $������ � � 1;;2 � 2*1�28)�

)?�T��� ��R������@��Q��-�������,��M��Q������$$����$�������$���������� �� ������ ��� -������������ :�������� ��������� :DR�� 9;;/� $������� �� ��� ���� ))��� 0��������� 3�!����� �� :�������� ��� D"���

#��������������%������0��8��886

A���������� �����������������������2��������������������B�������� ��� ������ '�������� ������� ��� ������ ������ �������� ���������������'���������������������������������������������B����������������.44/���������������������������2���.4#4��������������@�������9����������9��������B�"���������!�� ������������������������ �������B����������,�����*���� ��������C�� ������� ��������� ������� ���� �� �������� �������� ���!���������� ���� ������������� D��� ��2� !�� � ���� ����� �������� ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ����������� ���� ������������ ������� ���� �������� ���� ����������

������6

2�������� ��� �������� ������� ���� ���������������B�����������%�� ,�����*���� � ���

#444�������'���������� E/3=�%%3444$;;

�����6��F���G���������

�������� ����������� � 0DDD� '������� ������� � 1;;; � 726�

1;��S���� �������S������E�� ��D����������!���E���� ����$���������� ���-������������:�����������������0���������'��������$������� ��� :���������� ������� � 0DDD� '������� ������� � 1;;1 � )6)�

1)��T����� �����,����� �'�����'�����������$������� ����$������� ������������)???�0���������'�������$���������������������'���������� ��������� �)??? �$������ � �)??? �)82�)?;�

���������� � ������ ��� � ������� �������� @��� �� 9���� ���������� ���������� B������������ �� #=3%�� ��2� �� �������� ������� �� ������������ B������� ��� A�������� A��������� H(A�?I� �� #=:3� ���2�����������������������������������������������������B���������������#==#��D��������������������������������������������������������������� ������������������������������ ����������D�� �� ������ ������� ��� ?AAA�

������6

2�������� ��� �������� ������� ���� ���������������B�����������%�� ,�����*���� � ���

#444�������'���������� E/3=� .� =:3� //%3���� E/3=� .� :%� 3/� $/�����6���G���������