Applications of parellel computing


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Applications of parellel computing

  1. 1. 1. Airfoil Design- An airfoil design technique has been developed which decreases the computational processing time when optimizing aerodynamic performance. If an optimization technique is used for airfoil design, the shape of the airfoil is varied, and the aerodynamic performance of numerous airfoil geometries are evaluated using computational fluid dynamics. - Multiple aerodynamic performance evaluations require the vast majority of computationalprocessing time used in airfoil design optimization.- Hypercube parallel computer are utilized to simultaneously evaluate the performance of numerous airfoil shapes.- The utilization of multiple processors in parallel greatly decreases the computational processing time and increases the efficiency of the optimization design process. How it works:- Airfoil design via optimization methods require numerous CFD solutions to compute the aerodynamic performance of different airfoil geometries.- In the design process, independent variables are perturbed to determine which geometry best approximates the design criteria.- For airfoil design, the designer must first select the desired performance criteria.- Next, independent variables are used to describe the geometry of the airfoils shape.- After an initial CFD solution and performance evaluation are calculated, It match the performance criteria.- The performance of many airfoil shapes are then evaluated using CFD, and the geometry which comes closest to the desired performance becomes the baseline solution to vary for the next optimization cycle.- This process is repeated until an airfoil geometry is found which matches or optimizes the desired performance.- An optimization has been developed which divides the required performance evaluations among multiple processors.- The aerodynamic performance of numerous airfoil geometries simultaneously and greatly decreases the time required for airfoil design, 2. Database- Parallel processing is becoming increasingly important in the world of database computing.- As databases grow to enormous sizes and are accessed by larger and larger numbers of users. This growth strains the ability of single-processor and single-computer systems to handle the load.- More and more organizations are turning to parallel processing technologies to give them the performance, scalability, and reliability they need.- Oracle Corporation is a leader in providing parallel processing technologies.
  2. 2. Need :SpeedupDatabase sizes have been increasing steadily, and its now quite common to find data warehouses holdingseveral hundred gigabytes of data. Some databases, referred to as Very Large Databases (VLDBs), even holdseveral terabytes of data. Complex queries are run on these data warehouses to gather business intelligence andto aid in decision making. Such queries require a lot of processing time to execute. By executing these queries inparallel, you can reduce the elapsed time while still providing the required processor time.Speedup is defined as the ratio between the runtime with one processor and the runtime using multipleprocessors. It measures the performance improvement gained using multiple processors instead of a singleprocessor and is calculated using the following formula:Speedup = Time1 / TimemTime1 is the time it takes to execute a task using only one processor, while Timem is the time it takes to executethat same task using m processors.Speedup exampleFigure 1-1 shows a query that takes four minutes to complete using one processor, but thattakes only one minute to complete using four processors.Figure 1-1. Parallel processing speedupSpeedup = 4 / 1Speedup = 4.0In this case, the speedup is 4. Multiplying the number of processors by 4 caused the query to finish in one-fourththe time. Unfortunately, such an ideal result is seldom achieved in real life.Scalability
  3. 3. Scalability is the ability to maintain performance levels as the workload increases by incrementally adding moresystem capacity (adding more processors and disks). On a single-processor system, it is very difficult to achievescalability beyond a certain point. Parallel systems provide better scalability.High Availability- As Databases are used in the mission-critical applications in organizations such as stock exchanges, banks, and airlines. Many database applications are expected to be available 24 hours a day, 7 days a week, all year round.- The availability of such databases (along with other system components) is crucial to the success of these organizations. With an e-commerce application,- for example, customers may log in any time of the day or night to request products and services.- Database downtime causes loss of revenue and customer dissatisfaction.- As the negative impact of database downtime has increased for many applications, high availability requirements have become an important factor.- Running parallel databases on a multinode parallel system is one way to provide high availability- Even one node goes down, it affects only the subset of users connected to the failed node; moreover, users of the failed node still can access the database after switching to one of the surviving nodes.Types of Parallelism in DatabasesDatabase applications can exploit two types of parallelism in a parallel computing environment: inter-queryparallelism and intra-query parallelism. While inter-query parallelism has been around for many years, databasevendors recently have started to implement intra-query parallelism as well.Inter-query parallelismInter-query parallelism is the ability to use multiple processors to execute several independent queriessimultaneously. Figure 1-4 illustrates inter-query parallelism, showing how three independent queries can beperformed simultaneously by three processors. Inter-query parallelism does not provide speedup, because eachquery is still executed by only one processor.In online transaction processing (OLTP) applications, each query is independent and takes a relatively short timeto execute. As the number of OLTP users increases, more queries are generated. Without inter-query parallelism,all queries will be performed by a single processor in a time-shared manner. This slows down response time. Withinter-query parallelism, queries generated by OLTP users can be distributed over multiple processors. Since thequeries are performed simultaneously by multiple processors, response time remains satisfactory.
  4. 4. Figure 1-4. Inter-query parallelismIntra-query parallelismIntra-query parallelism is the ability to break a single query into subtasks and to execute those subtasks in parallelusing a different processor for each. The result is a decrease in the overall elapsed time needed to execute asingle query. Intra-query parallelism is very beneficial in decision support system (DSS) applications, which oftenhave complex, long-running queries.Figure 1-5 shows how one large query may be decomposed into two subtasks, which then are executedsimultaneously using two processors. The results of the subtasks then are merged to generate a result for theoriginal query. Intra-query parallelism is useful not only with queries, but also with other tasks such as dataloading, index creation, and so on.Figure 1-5. Intra-query parallelismParallel Processing in OracleMost modern commercial DBMS products have implemented parallel features, and Oracle is no exception. Withevery release, Oracle has consistently improved its support for parallel processing. Oracles support for parallelprocessing can be divided into the following two specific feature sets:Parallel execution :Refers to intra-query parallelism
  5. 5. Parallel server :Refers to the use of multiple instances to open a single, shared databaseParallel ExecutionOracles parallel execution features enable Oracle to divide a task among multiple processes in order to completethe task faster. This allows Oracle to take advantage of multiple CPUs on a machine. The parallel processesacting on behalf of a single task are called parallel slave processesThe following SQL statement counts thenumber of orders in the orders table:SQL> SELECT COUNT(*) FROM orders;When you execute this statement serially--that is, without using any parallel execution features--a single processscans the orders table and counts the number of rows. However, if you had a four-processor machine and usedOracles parallel execution features, the orders table would be split into four parts. A process would be started oneach CPU, and the four parts of the table would be scanned simultaneously. The results of each of the fourprocesses then would be merged to arrive at the total count. Figure 1-6 illustrates this situation.Figure 1-6. Serial and parallel scans of a tableOracles parallel execution support extends far beyond simply executing SELECT statements in parallel. The fullrange of features includes all of the following:Oracle Parallel ServerOracle Parallel Server (OPS) enables one database to be mounted and opened concurrently by multipleinstances. Each OPS instance is like any standalone Oracle instance and runs on a separate node having its ownCPU and memory. The database resides on a disk subsystem shared by all nodes. OPS takes parallelism to a
  6. 6. higher plane by allowing you to spread work not only over multiple CPUs, but also over multiple nodes. OPSoffers many more advantages that well explain later in this section.Figure 1-7 illustrates an OPS database comprised of two nodes. Each node runs one Oracle instance. Eachinstance has its own set of background processes and its own System Global Area (SGA). Both of the instancesmount and open a database residing on a shared disk subsystem.Figure 1-7. Oracle Parallel Server allows manyinstances to operate on a single database3. Weather Forecasting - Weather forecasting provides another real-life example of parallel processing at work. - Satellites used for weather forecasting collect millions of bytes of data per second on the condition of earths atmosphere, formation of clouds, wind intensity and direction, temperature, and so on. - This huge amount of data has to be processed by complex algorithms to arrive at a proper forecast. - Thousands of iterations of computation may be needed to interpret this environmental data. - Parallel computers are used to perform these computations in a timely manner so a weather forecast can be generated early enough for it to be useful.4. Motion of Astronomical bodies - One more scientific applications foe parallel processing is motion of astronomical bodies. - Predicting the motion of astronomical bodies requires a huge number of calculations - There are numerous bodies in space other by gravitational forces. Although the calculations is done using simple formulae but a massive amount of calculations is required to predict the motion of each body as forces from many other bodies are acting on it. - If there are N bodies in the space, there will be N-1 forces acting on each body, so there will be approximately N2 calculations and these calculations must be repeated with each change at position. - Therefore parallel processing is required for such calculations.