没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
Parallel Computing Efficiency: Climbing the Learning Curve
H.T.
Kumm and R.M. Lea
Aspex Microsystems Ltd.
Brunel University
Uxbridge Mddx UB8
3PH
United Kingdom
Abstract
Parallel computing shows considerable potential to
deliver cost-effective solutions to applications with
high requirements in performance. However, cur-
rent ex erience shows that performance often falls
well betw user expectations and below what would
be considered cost-effective. Therefore, MPC hard-
ware and software designers need to focus on the fac-
tors which affect parallel computing efficiency, if they
are to narrow the gap between potential and delivered
performance. Many analyses of arallel computing
efficiency which have been reporte fare mainly
too
re-
strictive to provide he1 ful results. Thus, a different
approach is required wfich would help parallel archi-
tecture and algorithm designers to climb the learning
curve associated with parallel computing efficiency.
In this paper, a performance analysis is intro-
duced which makes a distinction between natural par-
allelism (which is inherent to an application) and
applied Parallelism (which can be observed when an
ap lication is implemented on an MPC).
By
high-
ligiting parallel computing bottlenecks the analysis
supports MPC hardware and software designers to
identify causes for ineficiency. Furthermore helpful
efficiency measures can be defined.
The paper demonstrates the usefulness of the anal-
ysis and concludes that
it
could form the basis of
a methodology which formalises the improvement of
parallel computing eficiency.
1
Introduction
Many applications, for example scientific and en-
@neering simulation, on-line signal and data process-
ing, data visualisation, and context-sensitive data
and knowledge retrieval, require very high perfor-
mance (e.g up to teraflops oSP931 Since a sequen-
tial
teraflop computer would reqdre clock-cycles of
less than
1
ps it soon became clear that only par-
allel architectures have the potential to deliver such
performance. In fact, a rapid rowth in the market
for parallel computers can be o%served and it is pre-
dicted that this market will reach a value of
$
1000
M by 1996 Zor921.
puting, the observed performance for practical appli-
cations is often far below
user
expectations. In fact,
sustained performance often falls below 10% of peak
performance and values of less than
1%
are not ex-
ceptional [CK92].
In order to provide users with some means to com-
are different MPCs, numerous parallel processing
genchmarks have been proposed. Although these are
useful measures for application performance, they do
not offer insight into whether performance could be
Despite
t
6
e considerable potential of parallel com-
improved, nor do they give any indication on how to
climb the learning curve in order to improve parallel
computing efficiency.
In contrast, a helpful performance evaluation
should ive the user a realistic expectation of the
gains w%ich could be achieved by implementing an
application on a given MPC. Furthermore, it should
provide guidance on how efficient a certain imple-
mentation is and where efficiency bottlenecks are.
Thus, it should provide answers to the following
questions.
1.
What is the potential performance of the applica-
tion
?
2. What performance can be delivered when the ap-
plication
is
executed by a given MPC
?
3. How can the achieved performance be improved
?
One of the most widely used evaluation criteria
for parallel processing is the relative speed-u
S,,
of the execution of an application on a parallekom-
puter when compared to the execution-time required
on a sequential computer. It
is
normally defined
as
the fraction of sequential execution time,
T,,
over
parallel execution time,
Tp,
as
follows
(1)
T,
s,
=
T,
The problem of the achievable speed-up
S,
has
been widely discussed since the early days of parallel
computing. However, these analyses cover only spe-
cific groups of applications and provide an answer to
question
1
only (see section 2).
In order to gain further insight, it is helpful to
make a clear distinction between the following two
forms of parallelism:
Natural parallelism
defines the parallelism
which
is
inherent to an application and thus the max-
imal parallelism which could be achieved for that ap-
plication; it is the arallelism of an ideal program
executed on an ideaf MPC.
A
plied arallelism
defines the parallelism
whicg is actua& achieved when an application is ex+
cuted on a specific parallel computer; thus, it defines
the parallelism of a real program executed on a real
MPC.
Owing to the inevitable restrictions of a real MPC,
applied parallelism will normally fall below the nat-
ural arallelism of an application. Therefore, it is
usefuf to distinguish between a
natural speed-up,
S,,
as
the theoretical maximum speed-u for a iven ap-
plication, and the
applied speed-up,
&,
whi& can be
achieved when the application is executed on a
s
e-
cific MPC. On this basis, three measures of parJlel
computing efficiencies
r)
can be defined.
728
Authorized licensed use limited to: CHONGQING UNIV OF POST AND TELECOM. Downloaded on March 27, 2009 at 02:00 from IEEE Xplore. Restrictions apply.
calagiyou
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0