由于网络和信息发展的需求,高性能机都采用了并行处理技术。而目前,各领域的应用积累了大量的串行程序,且很多领域对计算能力的需求越来越高,如何将串行程序并行化处理,以满足用户需要显得尤为重要。对于目前很多台式机和笔记本广泛的采用了双核和多核CPU,本文通过建立模型实现串行程序并行化,使其能够在CPU两核心上并行运算,以提高总的算效率。对此问题,本文建立了两个数学模型分别为串行程序划分模型和关于负载均衡问题的模型。 2 T7 c( Q/ t. u8 X2 R: G2 u模型一、串行程序划分模型,即解决如何将串行程序划分成可并行执行的部分。首先通过分析语句之间是否存在相关性,建立了理想化的串行程序并行划分的模型,即划分出来的程序段之间是完全不存在相关性,可以分到两个不同的CPU上独立进行。# G. T# C# Z5 U4 z# G
但是实际中,绝大多数串行程序各个程序段中存在相关性,很少能将其划分成毫无相关的子程序,显然,若可以使各个划分程序段之间的相关程度降低,那么,也可提高双核CPU并行执行的效率。因此我们使用RPDMA算法,即降低程序段之间的相关性,建立了一般情况下串行程序并行划分模型,将串行程序划分成若干并行程序段。 ) V u- }) y0 f" `5 t+ l
模型二,关于负载均衡问题的模型,针对如何使划分出来的并行程序段能够合理的分配到不同的CPU中进行执行,以达到负载均衡效率最高的目标,我们建立了关于负载均衡问题的模型,利用C编程模拟计算机选择能够达到负载均衡效率最高的程序段组合。) @ I; N2 `2 t0 I; \6 }
( J; Q2 Q1 {, _3 Q
# g0 T1 J: ?# q9 {8 d
* n0 | `' o! U0 [* W6 o
; Q# j J* T" d/ P3 `, ` / A5 M0 W0 X B5 j8 C% X4 S % S9 a; e3 X4 U2 Y+ l, T |# a
参赛密码 ) C8 x: f7 j* \
(由组委会填写)
- r" i4 F/ P% H# u
参赛队号" P2 a! \1 H! Q$ |* g( k
1256- M. ?% w" _& X# N; ~" K- m
1 b4 L# h( h8 r' |0 S5 ]
; J, h- i! d5 ]( C& r6 U8 b
所选题目1 }- g. |. `1 ]( h" m
A + {$ R5 R/ [3 i2 S3 i3 o" H& B" z9 i
英文摘要(选填)
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, and5 D: f% c8 ^0 S M+ l. a) [
the demand for computing power is getting higher and higher,How to change serial program; x! b0 ]* S0 V! d
to parallel processing to meet the users' needs is especially important.many desktops and laptops use, ? n, {. w" k& ~
dual-core and multi-core CPU widely, this paper,we establish the model of changing serial program - g8 V7 W* F0 T' q$ nto 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 & E9 |" _! R0 s# _( T
. ?5 q; D, b2 u* E% R, ^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 , ( Z$ I% D5 G8 R; ?we establish * f% A) ~4 L' n8 L0 eidealized model of serial program division.divied program which is completely non-existent between the correlation can be assigned to run two different CPU independently! f, L; t$ s" P3 z
9 q0 U2 L% f) M5 m
In fact ,most of divied programs of serial programs / H d8 \& f( u% b. A& j' K' Yhave 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 program9 d+ R) t& b* R+ s0 W5 }! v
4 `$ x) b8 J: N o8 ^3 n) \/ G2 ?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.作者: 674979516 时间: 2009-5-10 07:22
有点精深 看不大懂作者: Aaron_Su 时间: 2009-5-10 15:17
题目要求将一个串行程序并行化,举了个例子有一定得误导作用,因为数组的拆分是语句的拆分,据目前的研究来看,这些只是建立在理论上,应用目前很少,因此我们队采取将程序划分为程序段来操作,而且各程序段之间的相关程度是可以分开来到不同的CPU中进行的作者: Aaron_Su 时间: 2009-5-10 15:19
模型一,就是如何拆分串行程序,通过算法实现,看过论文就知道,拆分很容易! 7 Y/ C! O4 z/ L模型二,是因为我们拆分串行程序,形成的不是两个子程序段,而是若干个,那么如何组合使其成为两个时间复杂度尽量靠近的子程序就是要解决效率最高的问题。作者: 文阳 时间: 2009-5-11 14:12
我都不知道还有英文摘要呢,郁闷,交的时候队友才想起来提醒我,咳,第一次参加,算是锻炼吧作者: Aaron_Su 时间: 2009-5-21 23:03
我都很郁闷,我们论文有那么差吗?都没人给个意见!作者: zhouzhihua 时间: 2009-5-22 14:00
不要太郁闷毕竟做A题的人很少啦你也不看一下到底有多少组做了A题作者: oohelen 时间: 2009-5-22 14:56
D题更少...LZ不要生气~~~~