13.07.2015 Views

WWW/Internet - Portal do Software Público Brasileiro

WWW/Internet - Portal do Software Público Brasileiro

WWW/Internet - Portal do Software Público Brasileiro

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ISBN: 978-972-8939-25-0 © 2010 IADIScomputing and its formulations. The third one explains and compares two practical examples for parallelprogramming with different architectures for multiple processor cores. The fourth one illustrates computingperformance for such different programming styles. And the last section summarizes our conclusions.2. BACKGROUND OF PARALLEL COMPUTINGThere are several types of parallel computers, such as a computer cluster, a vector computer, multipleprocessor cores and so on. For example, Flynn's Classical Taxonomy classifies that a vector computer isclassified as SIMD computer's category while a computer cluster is <strong>do</strong>ne as MIMD one [1]. The formercomputes vector data, and the latter binds many computers by means of network.Amdahl's law has focused on description of performance for not only vector computers but also parallelcomputers. And it clearly shows that speed up ratio will be larger if the size of parallelized implementations(namely portion of program to be processed in parallel) becomes more. Its characteristics and behaviour aresimply expressed in the approximate relationship described below [2][1].It is assumed that Ts is the computing time to run the program on a scalar computer (uniprocessor),while Tp is the computing time to run on a parallel computer (multiple processor cores). α is theparallelization ratio, i.e. the ratio of parallelizable section to program. And finally n is the number ofprocessors. In the Amdahl's law, coefficient P for speed up can be expressed in the following equation (1)shown below.P = Ts = 1-- (1)Tp {(1 −α ) +α / n}Such a law is well known as a famous formula for determining the maximum expected speedup of anoverall system when only part of such a system is improved. It is often used in parallel computing in order topredict the theoretical maximum speedup using multiple processors. But it has been discussed whether itmust be treated as an impulsive force or as a regulative rule; namely optimistic view or pessimistic one [3][4].Users of parallel computing need more fruitful metho<strong>do</strong>logies in order to perform efficient parallelcalculation instead of the above discussion. Master-worker paradigm can play an important role for parallelprogramming practices. It is known as master-slave approach. And it is a kind of parallel programmingmodel, consists of a master process and worker ones. The master process controls all of tasks and throws theaccording tasks to its worker processes under command of it. It also receives the results of the tasks from itsworkers, combines such results and then produces the final result for the given problem [5].Each worker receives its assigned task from its above master and runs (i.e. computes) such a task. Theworker finishes its own task and returns its result to its master individually and asynchronously. In masterworkerparadigm, if the processing times allocated to all the workers are the same size i.e. the identical timelength,an expected speed up might obey the Amdahl's law. It is one of the most ideal cases for parallelcomputing. By the way, if such processing times are different one another, the speed up might depend on theorder of tasks to be processed. In the other words, it is necessary to discuss how such a suitable schedule iscarried out through parallel computing. If there is a smarter scheduling available, parallel computing becomesscalable, more efficient and asynchronously executable in more expected status for parallelization.3. PRACTICAL PARALLEL PROGRAMMING AND ITS EXAMPLESIt is very much difficult to realize so-called optimal scheduling. So there cannot be a general-purposescheduling algorithm to build the most suitable procedure to assign the equivalent processing time to eachprocessing unit. There must be no royal road to get semi-optimal algorithm without time-consuming trialand-errormethods. But we have an experience to utilize and evaluate some special scheduling algorithm that“excludes any conscious idle periods” in parallel calculation [6]. The scheduling only lets the accordingprocessors be idling whenever there are no jobs to be executed. Our heuristic results taught that such ascheduling algorithm could <strong>do</strong> users a favor of fairly shortest processing time, i.e. the algorithm allows us toachieve semi-optimal scheduling. The theorem below illustrates how such a schedule works correctly [7].258

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!