欢迎大家看看1256队的A题,谢谢啦!摘要如下! ' |. a* R7 W& O. Q ' ~8 F$ A" K7 [& S+ u2 X2 _1 y" k* i. r. J2 X) m* K7 O: b- a5 E/ Z
) W, q- F( H) v. R6 ?: _" P 串行算法的并行化处理 0 a3 J" @: P8 _) y3 u. j - C& E( _7 m/ }( m" b: y2 k) e/ h ?- H* a% ^* e! P3 Q关 键 词- d9 [* ]0 l; E4 ]
8 g$ T- U, A5 f) E 串行程序划分模型负载均衡并行化$ M$ ^ e$ P3 W
RPDMA算法 6 u7 e7 D D* G 5 ^9 o. t9 f$ B G1 t& u! l
摘( e+ k4 L! Z3 g% L9 z& y( u8 O
要:
由于网络和信息发展的需求,高性能机都采用了并行处理技术。而目前,各领域的应用积累了大量的串行程序,且很多领域对计算能力的需求越来越高,如何将串行程序并行化处理,以满足用户需要显得尤为重要。对于目前很多台式机和笔记本广泛的采用了双核和多核CPU,本文通过建立模型实现串行程序并行化,使其能够在CPU两核心上并行运算,以提高总的算效率。对此问题,本文建立了两个数学模型分别为串行程序划分模型和关于负载均衡问题的模型。 ' ?% T7 v7 i( ^, k0 B- q; X模型一、串行程序划分模型,即解决如何将串行程序划分成可并行执行的部分。首先通过分析语句之间是否存在相关性,建立了理想化的串行程序并行划分的模型,即划分出来的程序段之间是完全不存在相关性,可以分到两个不同的CPU上独立进行。 * s' J0 P: a* W2 R" v# \但是实际中,绝大多数串行程序各个程序段中存在相关性,很少能将其划分成毫无相关的子程序,显然,若可以使各个划分程序段之间的相关程度降低,那么,也可提高双核CPU并行执行的效率。因此我们使用RPDMA算法,即降低程序段之间的相关性,建立了一般情况下串行程序并行划分模型,将串行程序划分成若干并行程序段。 $ R& G _+ f! T% ^ j0 P, i: l
模型二,关于负载均衡问题的模型,针对如何使划分出来的并行程序段能够合理的分配到不同的CPU中进行执行,以达到负载均衡效率最高的目标,我们建立了关于负载均衡问题的模型,利用C编程模拟计算机选择能够达到负载均衡效率最高的程序段组合。* q; V* _' b. D) z8 q& }3 Q% u
1 A8 S5 e& m, _# a" } { ! p: D5 q k% U0 n5 h( W1 p2 Q 0 X, c* ?- y7 g- \- y; `
Y. o% |6 E9 b, V g) p) [6 A) @
0 u$ H- S* @# p. p: a - x2 J( q3 }" q
参赛密码 ( J; Z$ N0 M7 n7 c' ?
(由组委会填写)
! Y2 W4 a% u6 o e
参赛队号+ Q& d+ P* h8 _8 q! u& O0 r
1256& B9 T( Y: G$ p. E, h8 H z3 W
2 X4 {. ^9 R8 v
/ b3 Y( S" K: I6 v' m( X- }所选题目 ( P. |0 H, X' b( h+ f. OA) k3 D. |/ c- B5 v. V
I3 W7 r }& Q/ }8 A
英文摘要(选填)
Abstract
Thanks to the need of the development of networks and information ,high-performance machines choose to use parallel processing technology.At present, the fields have accumulated a large number of serial programs, and 2 ?: K9 D: e# I& U: f" C1 R% }the demand for computing power is getting higher and higher,How to change serial program; v& l9 v) J5 C7 r" i
to parallel processing to meet the users' needs is especially important.many desktops and laptops use , z( u8 t5 f) C* ?dual-core and multi-core CPU widely, this paper,we establish the model of changing serial program* ?# c1 F L: S# B4 w
to parallel program ,and enable the program to run on two CPU cores in parallel computing in order to improve the efficiency of the overall count.On this issue, this paper establish two mathematical models ,serial program division model and load balancing model , _/ {' a1 E l 5 f1 |, S, V: X- o) i
model 1 :serial program division model, that is, to solve how to change the serial program to parallel program.Firstly, through the analysis of whether there is correlation , 4 A" J# F+ z: r; o7 V: [% Ewe establish5 r; D- J# M/ D
idealized model of serial program division.divied program which is completely non-existent between the correlation can be assigned to run two different CPU independently/ @, B3 o, c& K* m! Z; e
7 P$ ^) c6 k7 r5 C0 v$ k
In fact ,most of divied programs of serial programs ( [6 I# D( [& nhave relationship among them ,Rare of them can be divied into subprograms which have no relationship .If we try to reduce the relationship, we can also raise the Nuclear CPU efficiency of parallel execution.So,we choose a kind of algorithm named RPDMA which can reduce the relationship,then a general model is established to change the serial program into parallel program# H v) L5 i+ {2 z, D) P! a5 u) y
$ z: d" `+ S- \' l
model 2:we establish the load balancing model which can range the different parallel program to different CPUs, To achieve the most efficient load balancing goal.we use a C programming to simulation the computing process of computer inorder to reach the high efficiency of load balancing.