Parallel Programming for Multicore and Cluster Systems 3rd Edition Thomas Rauber download
Parallel Programming for Multicore and Cluster Systems 3rd Edition Thomas Rauber download
https://ebookmeta.com/product/parallel-programming-for-multicore-
and-cluster-systems-3rd-edition-thomas-rauber/
https://ebookmeta.com/product/data-parallel-c-programming-
accelerated-systems-using-c-and-sycl-2nd-edition-james-reinders/
https://ebookmeta.com/product/multicore-and-gpu-programming-an-
integrated-approach-2nd-gerassimos-barlas/
https://ebookmeta.com/product/multicore-and-gpu-programming-an-
integrated-approach-2nd-edition-gerassimos-barlas/
https://ebookmeta.com/product/the-micro-economy-today-16th-
edition-bradley-schiller/
Indigenous Peoples National Parks and Protected Areas A
New Paradigm Linking Conservation Culture and Rights
1st Edition Stan Stevens
https://ebookmeta.com/product/indigenous-peoples-national-parks-
and-protected-areas-a-new-paradigm-linking-conservation-culture-
and-rights-1st-edition-stan-stevens/
https://ebookmeta.com/product/collected-short-fiction-2022nd-
edition-keith-roberts/
https://ebookmeta.com/product/world-prehistory-a-brief-
introduction-10th-edition-brian-m-fagan/
https://ebookmeta.com/product/the-tainted-course-sugarbury-falls-
mystery-4-diane-weiner/
Messianism and Sociopolitical Revolution in Medieval
Islam 1st Edition Said Amir Arjomand
https://ebookmeta.com/product/messianism-and-sociopolitical-
revolution-in-medieval-islam-1st-edition-said-amir-arjomand/
Parallel Programming
Thomas Rauber • Gudula Rünger
Parallel Programming
for Multicore and Cluster Systems
Third Edition
Thomas Rauber Gudula Rünger
Lehrstuhl für Angewandte Informatik II Fakultät für Informatik
University of Bayreuth Chemnitz University of Technology
Bayreuth, Bayern, Germany Chemnitz, Sachsen, Germany
Second English Edition was a translation from the 3rd German language edition: Parallele
Programmierung (3. Aufl. 2012) by T. Rauber and G. Rünger, Springer-Verlag Berlin
Heidelberg 2000, 2007, 2012.
© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland
AG 2010, 2013, 2023
This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher, whether
the whole or part of the material is concerned, specifically the rights of reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or
information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar
methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
The publisher, the authors, and the editors are safe to assume that the advice and information in this book
are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or
the editors give a warranty, expressed or implied, with respect to the material contained herein or for any
errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface
V
VI Preface
of this new English edition includes an extended update of the chapter on com-
puter architecture and performance analysis taking new developments such as the
aspect of energy consumption into consideration. The description of OpenMP has
been extended and now also captures the task concept of OpenMP. The chapter
on message-passing programming has been extended and updated to include new
features of MPI such as extended reduction operations and non-blocking collec-
tive communication operations. The chapter on GPU programming also has been
updated. All other chapters also have been revised carefully.
The content of the book consists of three main parts, covering all areas of parallel
computing: the architecture of parallel systems, parallel programming models and
environments, and the implementation of efficient application algorithms. The em-
phasis lies on parallel programming techniques needed for different architectures.
The first part contains an overview of the architecture of parallel systems, includ-
ing cache and memory organization, interconnection networks, routing and switch-
ing techniques as well as technologies that are relevant for modern and future mul-
ticore processors. Issues of power and energy consumption are also covered.
The second part presents parallel programming models, performance models,
and parallel programming environments for message passing and shared memory
models, including the message passing interface (MPI), Pthreads, Java threads, and
OpenMP. For each of these parallel programming environments, the book intro-
duces basic concepts as well as more advanced programming methods and enables
the reader to write and run semantically correct and computationally efficient par-
allel programs. Parallel design patterns, such as pipelining, client-server, or task
pools are presented for different environments to illustrate parallel programming
techniques and to facilitate the implementation of efficient parallel programs for a
wide variety of application areas. Performance models and techniques for runtime
analysis are described in detail, as they are a prerequisite for achieving efficiency
and high performance. A chapter gives a detailed description of the architecture of
GPUs and also contains an introduction into programming approaches for general
purpose GPUs concentrating on CUDA and OpenCL. Programming examples are
provided to demonstrate the use of the specific programming techniques introduced.
The third part applies the parallel programming techniques from the second part
to representative algorithms from scientific computing. The emphasis lies on basic
methods for solving linear equation systems, which play an important role for many
scientific simulations. The focus of the presentation is the analysis of the algorithmic
structure of the different algorithms, which is the basis for a parallelization, and not
so much on mathematical properties of the solution methods. For each algorithm,
the book discusses different parallelization variants, using different methods and
strategies.
Many colleagues and students have helped to improve the quality of this book.
We would like to thank all of them for their help and constructive criticisms. For
numerous corrections we would like to thank Robert Dietze, Jörg Dümmler, Mar-
vin Ferber, Michael Hofmann, Ralf Hoffmann, Sascha Hunold, Thomas Jakobs,
Oliver Klöckner, Matthias Korch, Ronny Kramer, Raphael Kunis, Jens Lang, Isabel
Mühlmann, John O’Donnell, Andreas Prell, Carsten Scholtes, Michael Schwind,
Preface VII
and Jesper Träff. Many thanks to Thomas Jakobs, Matthias Korch, Carsten Scholtes
and Michael Schwind for their help with the program examples and the exercises.
We thank Monika Glaser and Luise Steinbach for their help and support with the
LATEX typesetting of the book. We also thank all the people who have been involved
in the writing of the three German versions of this book. It has been a pleasure work-
ing with the Springer Verlag in the development of this book. We especially thank
Ralf Gerstner for his continuous support.
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Classical Use of Parallelism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Parallelism in Today’s Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Basic Concepts of parallel programming . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Overview of the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
IX
X Contents
8.2 Direct Methods for Linear Systems with Banded Structure . . . . . . . . 470
8.2.1 Discretization of the Poisson Equation . . . . . . . . . . . . . . . . . . 470
8.2.2 Tridiagonal Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
8.2.3 Generalization to Banded Matrices . . . . . . . . . . . . . . . . . . . . . 489
8.2.4 Solving the Discretized Poisson Equation . . . . . . . . . . . . . . . . 491
8.3 Iterative Methods for Linear Systems . . . . . . . . . . . . . . . . . . . . . . . . . . 493
8.3.1 Standard Iteration Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
8.3.2 Parallel implementation of the Jacobi Iteration . . . . . . . . . . . . 498
8.3.3 Parallel Implementation of the Gauss-Seidel Iteration . . . . . . 499
8.3.4 Gauss-Seidel Iteration for Sparse Systems . . . . . . . . . . . . . . . 501
8.3.5 Red-black Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
8.4 Conjugate Gradient Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
8.4.1 Sequential CG method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
8.4.2 Parallel CG Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
8.5 Cholesky Factorization for Sparse Matrices . . . . . . . . . . . . . . . . . . . . . 518
8.5.1 Sequential Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
8.5.2 Storage Scheme for Sparse Matrices . . . . . . . . . . . . . . . . . . . . 525
8.5.3 Implementation for Shared Variables . . . . . . . . . . . . . . . . . . . . 526
8.6 Exercises for Chapter 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Chapter 1
Introduction
A typical example for the first application area is weather forecasting where the fu-
ture development in the atmosphere has to be predicted, which can only be obtained
by simulations. In the second application area, computer simulations are used to
obtain results that are more precise than results from practical experiments or that
can be performed at lower cost. An example is the use of simulations to determine
the air resistance of vehicles: Compared to a classical wind tunnel experiment, a
computer simulation can get more precise results because the relative movement of
the vehicle in relation to the ground can be included in the simulation. This is not
possible in the wind tunnel, since the vehicle cannot be moved. Crash tests of ve-
hicles are an obvious example where computer simulations can be performed with
lower cost.
Computer simulations often require a large computational effort. Thus, a low
performance of the computer system used can restrict the simulations and the ac-
curacy of the results obtained significantly. Using a high-performance system al-
lows larger simulations which lead to better results and therefore, parallel comput-
ers have usually been used to perform computer simulations. Today, cluster systems
built up from server nodes are widely available and are now also often used for
parallel simulations. Additionally, multicore processors within the nodes provide
further parallelism, which can be exploited for a fast computation. To use paral-
lel computers or cluster systems, the computations to be performed must be parti-
tioned into several parts which are assigned to the parallel resources for execution.
These computation parts should be independent of each other, and the algorithm
performed must provide enough independent computations to be suitable for a par-
allel execution. This is normally the case for scientific simulation, which often use
one- or multi-dimensional arrays as data structures and organize their computations
in nested loops. To obtain a parallel program for parallel excution, the algorithm
must be formulated in a suitable programming language. Parallel execution is often
controlled by specific runtime libraries or compiler directives which are added to
a standard programming language, such as C, Fortran, or Java. The programming
techniques needed to obtain efficient parallel programs are described in this book.
Popular runtime systems and environments are also presented.
eral cores. Thus, using multicore processors makes each desktop computer a small
parallel system. The technological development toward multicore processors was
forced by physical reasons, since the clock speed of chips with more and more tran-
sistors cannot be increased at the previous rate without overheating.
Multicore architectures in the form of single multicore processors, shared mem-
ory systems of several multicore processors, or clusters of multicore processors with
a hierarchical interconnection network will have a large impact on software develop-
ment. In 2022, quad-core and oct-core processors are standard for normal desktop
computers, and chips with up to 64 cores are already available for a use in high-
end systems. It can be predicted from Moore’s law that the number of cores per
processor chip will double every 18 – 24 months and in several years, a typical
processor chip might consist of dozens up to hundreds of cores where some of the
cores will be dedicated to specific purposes such as network management, encryp-
tion and decryption, or graphics [138]; the majority of the cores will be available
for application programs, providing a huge performance potential. Another trend in
parallel computing is the use of GPUs for compute-intensive applications. GPU ar-
chitectures provide many hundreds of specialized processing cores that can perform
computations in parallel.
The users of a computer system are interested in benefitting from the perfor-
mance increase provided by multicore processors. If this can be achieved, they can
expect their application programs to keep getting faster and keep getting more and
more additional features that could not be integrated in previous versions of the soft-
ware because they needed too much computing power. To ensure this, there should
definitely be support from the operating system, e.g., by using dedicated cores for
their intended purpose or by running multiple user programs in parallel, if they are
available. But when a large number of cores is provided, which will be the case in
the near future, there is also the need to execute a single application program on
multiple cores. The best situation for the software developer would be that there is
an automatic transformer that takes a sequential program as input and generates a
parallel program that runs efficiently on the new architectures. If such a transformer
were available, software development could proceed as before. But unfortunately,
the experience of the research in parallelizing compilers during the last 20 years has
shown that for many sequential programs it is not possible to extract enough paral-
lelism automatically. Therefore, there must be some help from the programmer and
application programs need to be restructured accordingly.
For the software developer, the new hardware development toward multicore ar-
chitectures is a challenge, since existing software must be restructured toward paral-
lel execution to take advantage of the additional computing resources. In particular,
software developers can no longer expect that the increase of computing power can
automatically be used by their software products. Instead, additional effort is re-
quired at the software level to take advantage of the increased computing power. If
a software company is able to transform its software so that it runs efficiently on
novel multicore architectures, it will likely have an advantage over its competitors.
There is much research going on in the area of parallel programming languages
and environments with the goal of facilitating parallel programming by providing
Another Random Scribd Document
with Unrelated Content
Mūshteri led him to the door of the council chamber, and bade him
go to his home and friends. “Alas!” said he, “I have no home—I have
no friends. I have outraged the confidence of the Shāh, there is no
room for me in his dominions, and even the father who taught me
the lessons of hypocrisy is now ashamed of his son. I have no home
but the desert—no friend but death.”
He went away, but the disappointed malice, and the hopeless
future, had wrought a change in the strong man that he was
powerless to overcome; he returned to his caravan which had been
restored to him by the intercession of Meher and Mūshteri, but in a
few days his lifeless body was found upon the plains, and his
servants claimed that he had died by his own hand.
CHAPTER XXI.
MEHER AND MŪSHTERI—CONCLUDED.
A pavilion was built beneath the palm trees, and the fire-flies lit
their signals afresh in the thickets of foliage, for it was amidst the
shades of the garden that the singers were placed, whose sweetest
notes were to be poured forth at the royal wedding. Within the
palace, the courts were all ablaze with light and loveliness; lamps of
graven silver were swinging from the fretted roof, suspended by long
chains, and fed with the perfumed oils of distant lands. Their soft
light fell on silken hangings and tapestries from Eastern looms, while
crystal vases gleamed here and there, filled with branches of orange
trees or sprays of magnolia blossoms. It was here that Meher
received his royal bride, and when the ceremony was finished, the
notes of music floated in through the casement, and mingled with
the breath of the flowers. Still nearer seemed to come the dream-
like harmonies, as the tones of pipe and lute were mingled with the
voices of the singers and the musical ripple of the fountains.
Then the dancing girls floated into the bright halls, and swayed
gracefully through the soft measures, and all was motion, light and
jewels. Golden chains were woven in their dark hair, and silver
bangles gleamed upon the shapely ankles, where little bells kept
time with gliding feet. Each dancer held a dainty lute of gold and
sandal wood, which answered to the swaying of her arms and the
soft beat of graceful hands. And still the music from without floated
through the lattice and mingled with the harmonies within. But in
this festal scene Love was the honored guest. He came to rule the
court and grove; his were the symphonies that breathed a richer
note than all the garden singers; his were the harmonies that
shaped the loyal lives, and led the happy feet along the aisles of
time.
Bewildered with the beauty and love of his bride, Meher lived for
weeks unheeding the lapse of time, for all the days were crowned
with gold and radiant with the blossoms of love. But there came a
morning when the picture of his grieving mother was forced upon
his heart and mind with all its power, and he remembered that not
alone to his lovely wife belonged his fealty.
They were sitting together beneath the sheltering branches of a
great magnolia tree, whose creamy flowers were bursting from the
green sheath of the bud, and the air was rich with fragrance. On the
green bank beyond them, the peacocks drew their gorgeous trains,
and birds sang in the tall trees in the distance.
The dark eyes of the prince had a look of sadness in them, and
there was a cloud, the first that Nahīd had ever seen upon his
handsome brow; she drew closer within the sheltering arm, and her
soft, dark eyes looked anxiously into his. His own heart read her
pleading question, even before her lips had framed it, and then he
told her of the loving mother who was grieving her life away amidst
the splendors of another court—of the faithful heart that looked
longingly for his return and refused to be comforted, because he
came not.
“But what can we do?” questioned the princess. “Thou canst not
leave the wife to go even to the mother.”
“No,” answered the prince, “but can I not take my bride with me?
Can I not take my peerless pearl to the royal court which is my
rightful inheritance? Can I not bear to her arms the beauteous
daughter that I have given her? Surely my wife should receive my
mother’s blessing! Let me take thee there before the faithful mother-
heart is cold in death.”
“But my father,” faltered Nahīd, “will he consent? Will he allow
thee to bear me away to a strange land to claim the lost
inheritance?”
“The king should remember that not only filial love demands my
return, but I can never make my bride the queen that she should be
—I can never place a royal crown upon her lovely brow unless I
return to the land of my fathers,” answered the prince; and then he
told her, with loving thought, of the land where the palms grew
higher by striving toward the sun, of the marble palaces of Istakhar,
standing beside the river that came down from the heights rippling
with low harmonies, as the waves dashed on the sanded shores; told
her, too, of the mountains beyond the marble city, where the wild
swans came to their nesting places,—white voyagers on the seas of
blue, calling, in soft notes, down the line, while love was leading
them homeward, to the sheltered nooks beside the pools of the
mountain stream.
Long they stayed in loving converse, and when they turned to the
palace court, the prince had won from his bride a promise that she
would see the king, and win, if possible, his consent to the long
bridal trip, that she now looked forward to with pleasure.
ROYAL CAVALCADE.
THE MESSENGER.
The uneventful days passed slowly by, and still the great
cavalcade was far from its destination, when Meher ordered his
especial attendant to mount one of the swiftest Arabian horses and
carry a letter to his father asking if he wished him to return.
The Persian monarch was sitting in the council hall surrounded by
his counselors, and they were considering an important affair of
state when a messenger was announced. He was ordered into an
adjoining room to wait until King Shapur was ready to receive him,
and here he could look upon the once familiar form of his sovereign.
He was astonished to see how greatly the Shāh had changed with
the passing years; only three times had the seasons made their
cycles, and yet the stalwart form was bent as if with age, the dark
hair was already silvered and the furrows upon the weary brow told
that grief and remorse were leaving their impress upon his once
serene countenance. At last the word was brought that the
messenger could now approach the king, but he replied that his was
a secret mission, he must see his majesty alone, and after a time he
was ushered into the private audience room.
He then told the king that he brought him news from Behrām,
who had obtained a magnificent caravan under the pretext of finding
the prince. The king listened eagerly while the messenger gave a
graphic description of the pursuit and capture of Mūshteri but his
brow darkened with an ominous frown as the recital continued. He
had been the prey of evil advisers who cared only to flatter him for
their own gain, and in the years that had gone he sadly missed the
faithful advice and unfailing loyalty of his old Vizir. He often
reproached himself as the indirect cause of his death, and decreed in
his heart that if the banished son could be found he should be
recompensed, so far as lay in his power, for all sufferings of the past.
When, therefore, he learned of the persistent brutality of Behrām his
anger grew almost uncontrolable. He inquired anxiously for the
prince. “You bring me bad news enough;” he cried, “can you give
me no knowledge of my son?” And he answered: “Oh, king, great
and mighty ruler of the wide realm, I can bring thee news of the
prince, for I have seen him in a foreign court.” “Where didst thou see
him? What is he doing, and why does he not return to the land of
his fathers?” he rapidly questioned. “He has risen, oh, king, to great
eminence at the court of a foreign potentate, and he hath no need
to return to thee, but his heart yearns for his native land; he cares
much to spend his years near to the father whom he still loves, and
he longs to take his beloved mother into his arms again. I have
brought thee a letter from him,” and then he placed the document in
the royal hand. “A letter!” cried the Shāh, “a letter from my son!”
and he ceased to be a king, for now he was only a father, and the
manly tears coursed down his cheeks as he caught the precious
missive and pressed the hand of the messenger.
As soon as he could read the communication from Meher he called
for writing materials, and with his own hand he penned a long and
loving letter to his son, telling him that not only his home but also
the Persian crown awaited his coming, urging him to return and
bring with him the faithful friend who had suffered so much on
account of his loyalty to the prince. Then he hastened the
messenger away, that he might reach Meher at the earliest possible
moment, and he himself went to bear the glad tidings to the
sorrowful queen.
The next day a proclamation was issued that the heir of the
throne was coming to the capital city, and orders were given to the
Grand Vizir, to the chamberlains and other officers of the crown that
suitable preparations be made to welcome the prince and his bride.
THE RECEPTION.
PRIESTLY RULE.
RUSSIAN OPPRESSION.
Not only is the nation firmly held in the chains of priestly rule, but
her political position is far from enviable. Upon her northern border
stands the most unscrupulous power among the nations of the East.
The black eagles of the Czar are ever watching for an opportunity to
invade her dominions, ever looking for some unusual sign of internal
weakness which may throw her completely into their power. Russia
has justly earned a reputation which, for political treachery, is
unequaled among the children of men. She makes treaties and signs
the most solemn pledges of national co-operation, apparently with
the utmost sincerity, and then breaks them, without even a word of
apology, whenever she can gain a point or a province by so doing.
For centuries Russia has coveted Constantinople as the key of the
East. For centuries she has looked with envious eyes upon the
wealth of India, and she has hesitated at no policy which might
advance her interests by extending her boundary line.
Great Britain stands as the strongest bulwark in the world of
nations against the insidious diplomacy of the Muscovite, which
seems to be the enemy of all civilization, and therefore in every
move that is made in the political world of either Europe or Asia,
Russia is ever on the alert to defeat the plans of England, and the
coming conflict in the Old World will doubtless be led by these two
great powers. Intending some day to wrest India from the hand of
Great Britain, she finds Persia standing in the way of her design, and
it must therefore be conquered or absorbed. By the most
unscrupulous methods known to nations, she has already acquired
much of Persian territory, and the process of absorption is renewed
whenever the opportunity offers.
She hesitates at no oppression, and has already ruined Persian
commerce, as far as lay in her power, by permitting the
transportation of goods across her territory, only under restrictions
which are practically prohibitory. Flattering promises are carefully
combined with threats in order to promote her designs, and the
emissaries of Russia are abundant in Persia, and even in Northern
India, where their mission is to educate a public sentiment by
constantly instilling into the minds of the people false ideas of the
magnificence and generosity of Russia. These men are not Russians,
for they would attract attention and arouse public apprehension, but
they are Asiatics, who are kept at work by Russian gold, making
lavish promises of Muscovite benevolence when northern barbarism
shall succeed English civilization.
While engaged in thus duping the Asiatic tribes, she is pushing her
railway as rapidly as possible toward India, and preparing for war on
a greater scale than ever before in her history.
The record of her political policy proves that she will fasten her
iron hand upon the vitals of a nation, and crush out, as far as
possible, every effort toward progress, until the crippled empire falls
into her fatal embrace. Persia has little hope of escaping the Russian
policy of oppression and absorption, unless either English or German
troops are allied with her native forces against the common foe.
There is no longer, therefore, a hope that Persian literature may be
revived, and the intellectual resources of the empire again
developed, unless the civilized nations of Europe come to her rescue.
The yoke of Mohammedan rule must be broken, and the tyranny of
the northern barbarian removed, before the Persian mind and heart
can be stimulated to intellectual and moral activity.
INDEX.
A.
B.
C.
D.
Dagon, 63.
Daniel, n 36, 40, 41.
Damascus, 311.
Darius, 9, 13, 20, 29, 45, 47, 49, 50, 52;
and his Horsekeeper, 309, 316.
Darmesteter, Prof., 20, n 110, n 150, n 156.
Dastur, 125.
Datilla, River of Death, 107.
Dead, Disposition of, 146, 153.
Delos, 68.
Devas, 105.
Demon, White, 248, 252, 257, 260;
slain, 260.
Desert, the, 351, 353.
Diana, 75, 108.
Dihkans, 22.
Diodorus, 5, n 113.
Diocletian, 114.
Domitian, 50.
Dogs, importance of, 147, 152, 153, 156;
of Yama, 153.
Druj, 152.
Dungi, 3.
Duza, 42.
Dynasty, Achæmenian, 25;
Gaznevides, 24, 25;
Sassanian, 20, 21, 22.
E.
F.
G.