a CRAY T3E parallel system

CONCURRENCY AND COMPUTATION:PRACTICE AND EXPERIENCEConcurrency Computat.:Pract.Exper.2003;15:607–621(DOI:10.1002/cpe.718)A scalable HPF implementationof afinite-volume computational electromagnetics application ona CRAY T3E parallel system‡Yi Pan1,∗,†,Joseph J.S.Shang2and Minyi Guo31Department of Computer Science,Georgia State University,Atlanta,GA30303,U.S.A.2Air Vehicle Directorate,Air Force Research Laboratory,WPAFB,OH45433-7521,U.S.A.3Department of Computer Software,The University of Aizu,Aizu-Wakamatsu City,Fukushima,965-8580JapanSUMMARYThe time-dependent Maxwell equations are one of the most important approaches to describing dynamic or wide-band frequency electromagnetic phenomena.A sequentialfinite-volume,characteristic-based procedure for solving the time-dependent,three-dimensional Maxwell equations has been successfully implemented in Fortran before.Due to its need for a large memory space and high demand on CPU time,it is impossible to test the code for a large array.Hence,it is essential to implement the code on a parallel computing system.In this paper,we discuss an efficient and scalable parallelization of the sequential Fortran time-dependent Maxwell equations solver using High Performance Fortran(HPF). The background to the project,the theory behind the efficiency being achieved,the parallelization methodologies employed and the experimental results obtained on the Cray T3E massively parallel computing system will be described in detail.Experimental runs show that the execution time is reduced drastically through parallel computing.The code is scalable up to98processors on the Cray T3E and has a performance similar to that of an MPI implementation.Based on the experimentation carried out in this research,we believe that a high-level parallel programming language such as HPF is a fast, viable and economical approach to parallelizing many existing sequential codes which exhibit a lot of parallelism.Copyright c 2003John Wiley&Sons,Ltd.KEY WORDS:parallel computers;execution time;efficiency;scalability;loop parallelization;Cray T3E;high performance Fortran∗Correspondence to:Yi Pan,Department of Computer Science,Georgia State University,Atlanta,GA30303,U.S.A.†E-mail:pan@‡A preliminary version of this paper appeared in ICA3PP2000,Hong Kong,December2000.Contract/grant sponsor:Air Force Office of Scientific Research;contract/grant number:F49620-93-C-0063Contract/grant sponsor:National Science Foundation;contract/grant number:CCR-9211621,OSR-9350540,CCR-9503882, ECS-0010047Contract/grant sponsor:Air Force Avionics Laboratory,Wright Laboratory;contract/grant number:F33615-C-2218Contract/grant sponsor:Japan Society for the Promotion of Science;contract/grant number:14580386Received11October2001 Copyright c 2003John Wiley&Sons,Ltd.Revised8August2002608Y.PAN,J.J.S.SHANG AND M.GUO1.INTRODUCTIONComputational electromagnetics(CEM)in the time domain is the most general numerical approach for describing dynamic or wide-band frequency electromagnetic putational simulations are derived from discretized approximations to the time-dependent Maxwell equations[ Copyright c 2003John Wiley&Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621HPF IMPLEMENTATION FOR CEM ON A CRAY T3E609 parallelize many existing sequential codes which exhibit a lot of parallelism besides MPI.In many cases,using HPF to implement a sequential Fortran code is more economical than using MPI.HPF also solves the problem of limited memory size on a single processor and provides a fast way to port the code on parallel computer systems.In the following sections,we will describe the numerical formulation of the problem and the related subroutines in the sequential code.We then present the parallelization schemes used,the results achieved during the research and outline the impact of the achieved research results.2.THE MAXWELL EQUATIONSThe behavior of electromagnetic phenomena is modeled by the set of four equations collectively known as Maxwell’s equations.In differential vector form for a Cartesian reference frame,these equations are written as follows(see[∂t+∇×E=0(1)Amp`e re’s law:∂D∂t−∇×H=−J(2) Gauss’s law:∇·B=0,B=µH(3)∇·D=0,D= E(4) where andµare the electric permittivity and the magnetic permeability which relate the electric displacement to the electricfield intensity and magneticflux density to the magneticfield intensity, respectively.Using a coordinate transformation from the Cartesian coordinates,the time-dependent Maxwell equations can be cast in a general body-conformal curvilinear frame of reference.The resultant governing equations influx-vector form acquire the following form[∂t +∂Fξ∂ξ+∂Fη∂η+∂Fζ∂ζ=−J(5)where U is the transformed dependent variable now scaled by the local cell volume,V.Fξ,Fηand Fζare the contravariant components of theflux vectors of the Cartesian coordinates.U={B x V,B y V,B z V,D x V,D y V,D z V}T(6)Fξ=ξx F x+ξy F y+ξz F zFη=ηx F x+ηy F y+ηz F zFζ=ζx F x+ζy F y+ζz F z(7) Copyright c 2003John Wiley&Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621610Y.PAN,J.J.S.SHANG AND M.GUOwhere theflux-vector components of the Cartesian frame are:F x={0,−D z/ ,D y/ ,0,B z/µ,−B y/µ}TF y={D z/ ,0,−D x/ ,−B z/µ,0,B x/µ}TF z={−D y/ ,D x/ ,0,B y/µ,−B x/µ,0}T(8)andξx,ηx,ζx,ξy,ηy,ζy,ξz,ηz,as well asζz are the nine metrics of the coordinate transformation. The characteristic-basedfinite-volume approximation is achieved by splitting theflux vector according to the signs of the eigenvalues of the coefficient matrix in each spatial direction.Theflux vector at any cell interface is represented by the superposition of two components:F+ξ,F−ξ,F+η, F−η,F+ζand F−ζaccording to the direction of the wave motion[2=F+ξ(U Li+12)+F−ξ(U Ri+12)Fη,j+12=F+η(U Lj+12)+F−η(U Rj+12)Fζ,k+12=F+ζ(U Lk+12)+F−ζ(U Rk+12)(9)where U L and U R denote the reconstructed dependent variables at the left-and right-hand side of the cell interface.A single-step,two-stage Runge–Kutta scheme is adopted for the temporal integration process:the resultant numerical procedure is capable of generating numerical solutions accurate in space fromfirst to third order and accurate in time to second order.The initial and boundary conditions for a perfectly electrical conducting(PEC)sphere can be summarized as follows.The incident wave consists of a linearly polarized harmonicfield propagating in the negative z-axis direction[Copyright c 2003John Wiley&Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621HPF IMPLEMENTATION FOR CEM ON A CRAY T3E611 .....C START THE SOLVING SEQUENCESDO10N=1,NENDT=FLOAT(N-1)*DTCALL IC(N,NEND)DO12M=1,2CALL FXICALL GETACALL HZETACALL SUM(M,N,NEND)12CONTINUEIF((N.GT.NES).OR.(N.LT.NBS))GO TO10C PERFORM FOURIER’S TRANSFORMWT=W*(T+DT)DO14L=1,6DO14K=1,KLDO14J=1,JLFU(J,K,L)=FU(J,K,L)+U1(IB,J,K,L)*CEXP(RI*WT)14CONTINUE10CONTINUE.....After testing and performance profiling of the sequential code MAX3D,we found that the subroutines FXI,GETA,HZETA and SUM occupy the most time for the sequential code and deserve special attention.Subroutines FXI,GETA,and HZETA generate electromagnetic coefficients for theflux vectors and SUM computes the new time level solution.These subroutines are related to Equations(Copyright c 2003John Wiley&Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621612Y.PAN,J.J.S.SHANG AND M.GUOtuning to produce more efficient code.For example,when we parallelize the MAX3D code using automatic parallelization on SGI Origin2000,the parallel time is worse than the sequential time due to data dependence and the heavy communication overhead in the code.In our research,only hand parallelization(inserting directives manually versus automatic code generation by software)is used to avoid memory waste and increase efficiency.The HPF model can be seen as a collection of distinguishable,but complementary,programming styles.The models and methods we used in the implementation are data-and work-sharing.In data-sharing,data,such as an array,are spreaded over the memory of all of the available processors so that each processor operates primarily on its own part.In work-sharing,the loop iterations are distributed within loops among the system’s processors with the goal of executing them in parallel.For instance, the INDEPENDENT directive can be used to divide the iterations of a DO loop among processors or the compiler can divide the work by choosing an implicit array syntax.One natural and powerful strategy involves distributing an array,data-sharing and the iterations of a DO loop that operate on that array,work-sharing,over your available processors.Processors executing a DO loop in parallel to help realize the power of the CRAY T3E and other parallel computing systems.In the following sections, the details of data allocation and parallelization schemes are discussed.In order for a parallel code to run efficiently,it is also essential that the sequential code uses the cache effectively.The overall optimization steps adopted in our research are:(1)locate the‘hot spot’of the sequential code via profiling tools;(2)study these subroutines identified in step1carefully for performance improvement;(3)improve the cache locality behavior of these subroutines through a series of systematic looptransformations;(4)study the listingfile produced by the HPF compiler and locate the overhead caused by inefficientparallel loops;and(5)insert HPF compiler directives to direct the compiler to parallelize the code so that most of theoverhead is eliminated and the most time-consuming loops are parallelized.Note that some of the goals may be in conflict.Hence,these steps may need to be repeated several times to achieve an overall good performance.3.1.Distributed data allocationIn a parallel program on a distributed memory architecture,data can be shared(distributed)or private (replicated).Arrays can also be distributed to speedup the code.Arrays are distributed across all processors via the!HPF$DISTRIBUTE directive in HPF.The DISTRIBUTE directive names the variables that are to be shared data objects and specifies how they are to be distributed across the PEs. If the data are not specified as shared,they are private(the default).In a program that declares a private data item,each processor gets a copy of storage for that item.In many programming models,this datum is called replicated.When an array is shared,its elements are distributed across the available PEs. The DISTRIBUTE directive can specify array distribution within the directive by following the array name with distribution information contained in parentheses.The distribution information may include the keywords BLOCK or CYCLIC,which tell the compiler how to distribute the array elements among the available PEs.The BLOCK distribution distributes a block of consecutive memory locations to a processor,while the CYCLIC distribution distributes an array in a cyclic manner.Copyright c 2003John Wiley&Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621HPF IMPLEMENTATION FOR CEM ON A CRAY T3E613 The DISTRIBUTE directive allows data to be distributed over processors in a variety of patterns. The ALIGN directive is used to specify that certain data objects are to be mapped in the same way as certain other data objects in order to reduce inter-processor communication.Operations between aligned data objects are likely to be more efficient than operations between data objects that are not known to be aligned.In our MAX3D implementation,U0,U1,U2,F and G are all aligned and have the same distribution,as shown later.Hence,we can parallelize the code across dimension K efficiently when working on these large arrays.The ONTO clause specifies the processor arrangement declared in a PROCESSORS directive.In our case,the arrangement is PROCS.!HPF$PROCESSORS PROCS(NUMBER_OF_PROCESSORS())!HPF$ALIGN U1(I,J,K,L)WITH U0(I,J,K,L)!HPF$ALIGN U2(I,J,K,L)WITH U0(I,J,K,L)!HPF$ALIGN F(I,J,K,L)WITH U0(I,J,K,L)!HPF$ALIGN G(I,J,K,L)WITH U0(I,J,K,L)!HPF$DISTRIBUTE U0(*,*,BLOCK,*)ONTO PROCSSimilarly,since we need to parallelize HZETA on dimension J,the H array is distributed on dimension J as follows:!HPF$DISTRIBUTE H(*,BLOCK,*,*)ONTO PROCSSince different phases require different data distributions,it would be nice to dynamically distribute an array during execution.HPF provides such a mechanism—the DYNAMIC and REDISTRIBUTE directives.Although various redistribution methods have been studied and a lot of improvements have been made,the redistribution of large arrays still takes a huge amount of time in general[ Copyright c 2003John Wiley&Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621614Y.PAN,J.J.S.SHANG AND M.GUOIn HPF,we may use a FORALL statement to parallelize a nested loop[Copyright c 2003John Wiley&Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621HPF IMPLEMENTATION FOR CEM ON A CRAY T3E615 Some data dependencies cannot be eliminated due to the nature of the computations involved in the code.Our strategy is to parallelize the loops which have no data dependencies.For example,loop K in subroutine HZETA has data dependencies.However,loop J does not.Hence,we parallelized loop J instead of loop K in subroutine HZETA.The code segment of the subroutine HZETA is as follows. The data dependencies exist in the statements S1,S2,and S3for loop K:SUBROUTINE HZETAPARAMETER(IL=73,JL=61,KL=97)......!HPF$INDEPENDENT,NEW(K,KM,KP,I,SSZT,RSSZT,....)DO2J=1,JLMDO2K=1,KLMKM=K-1KP=K+1DO2I=1,ILMC S1UP1(I,K)=U1(I,J,K,1)+0.25*RP*((1.0-RK)*(U1(I,J,K,1)-U1(I,J,KM,1))1+(1.0+RK)*(U1(I,J,KP,1)-U1(I,J,K,1)))......C S2UC1=UI1(I,KM)*UP1(I,K)+UI2(I,KM)*UP2(I,K)+UI3(I,KM)*UP3(I,K)......C S3H(I,J,K-1,1)=SSZT*(HP(I,K-1,1)+HM(I,K,1))......2CONTINUE......RETURNENDSimilarly,we parallelized loop K in subroutines FXI and GETA.This is also reflected in their data distributions:array F,G and H are distributed on different dimensions as shown previously.4.PERFORMANCE RESULTSDuring this research,we used a CRAY T3E computer system at the Ohio Supercomputer Center, which is a powerful scalable parallel system with128processing elements.Its peak performance can reach76.8GFLOPS.Each processor is a DECchip64-bit super-scalar RISC processor.It has four-way instruction issue with twofloating-point operations per clock.Each processor has on-chip8kbyte direct-mapped L1instruction cache and an on-chip8kbyte direct-mapped L1data cache.It also has an on-chip96kbyte three-way-set-associative L2unified cache.Each processor has a local memory of 16Mwords(or128Mbyte).The clock speed of the processor is300MHz and its peak performance is 600MFLOPS.Although the speed is quite fast compared with other parallel systems such as the SGI Origin2000,the cache and local memory sizes of the T3E are much smaller(each processor in the SGI Origin2000contains a4Mbyte secondary cache).This limits the power of the T3E for programs using a lot of memory space such as the MAX3D code.Actually,the T3E’s smaller cache size effects sequential programs as well as parallel programs.Copyright c 2003John Wiley&Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621616Y .PAN,J.J.S.SHANG AND M.GUOTable I.Execution times of the major subroutines.No.of processorsFXI GETA HZETA SUM 40.592360.895350.8809 2.889480.314000.456460.44389 1.4939160.169630.252900.226040.83692320.0997330.150420.118620.50716480.0744170.108900.115010.37680640.0535830.0765010.0648940.25680900.0537340.076400.0647640.25511980.029480.041190.064060.14431280.029480.041080.063840.143000.20.40.60.811.21.41.61.822.22.42.62.834142434445464748494104114124Number of Processors FXI GETA HZETA SUM Figure 1.Execution times of the major subroutines.Several experiments were carried out to tune our parallel code and to adjust our strategy as to how to distribute the various arrays and which loops and subroutines to parallelize.The HPF compiler used is PGHPF [Copyright c 2003John Wiley &Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621HPF IMPLEMENTATION FOR CEM ON A CRAY T3E617Table II.Total parallel execution times for problem size (73×61×97)on T3E.No.of processorsExecution time41633188713164853322919641659711680901688981127128114810003000500070009000110001300015000170004142434445464748494104114124Number of ProcessorsTimes in SecondsFigure 2.Execution times of the HPF code.code.As shown in FigureCopyright c 2003John Wiley &Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621618Y.PAN,J.J.S.SHANG AND M.GUOthe parallel program could be run on a T3E with one or two processors.Hence,TableCopyright c 2003John Wiley&Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621HPF IMPLEMENTATION FOR CEM ON A CRAY T3E619Table III.Speedups for problem size (73×61×97).No.of processorsSpeedup 11224487.491613.463222.386439.387138.889038.709857.9612856.90161116212631364146515661661112131415161718191101111121Number of ProcessorsHPF MPIFigure parison of speedups using HPF on T3E and MPI on SP2.Copyright c 2003John Wiley &Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621620Y.PAN,J.J.S.SHANG AND M.GUO5.CONCLUSIONSAs we all know,a low-level message-passing programming language such as MPI has several disadvantages compared with a high-level parallel programming language:the cost of producing a message-passing code is usually much higher,the length of the code grows significantly and it is much less readable and maintainable than the one produced using a high-level parallel programming language such as HPF.For these reasons,it is widely agreed that a higher level programming paradigm is essential if parallel systems are to be widely adopted.HPF has reached a critical stage in its history. Having struggled while the compiler technology evolved into a usable state,the parallel computing community has now found it possible to write portable,high-performance implementations for selected applications in HPF.HPF is becoming a standard for high-level parallel programming and is available on almost every major parallel computer system.This research indicates that large-scale data-parallel applications such as CEM simulations can use HPF to achieve a reasonable performance.This research addresses the portability and scalability problems of the MAX3D code through using HPF.Our results achieved during the research have demonstrated that the sequential MAX3D code can be parallelized quickly by simple directives insertion and yet the code produced this way can still be executed efficiently.Furthermore,the code is still quite scalable.While the MPI code is more scalable than the HPF code due to different data distribution schemes(3D versus1D)when using a larger number of processors,the labor cost of producing the MPI code is much larger than the HPF code. As new versions of commercial HPF compilers emerge in the market,and the HPF technology becomes more mature,we expect that the performance of the HPF MAX3D code will be improved substantially in the near future with little change in the code.We believe that high-level parallel programming languages such as HPF is the future for fast implementation of parallel codes. ACKNOWLEDGEMENTSThis research was supported by the Air Force Office of Scientific Research under grant F49620-93-C-0063. Additional support has been provided by the National Science Foundation under grants CCR-9211621, OSR-9350540,CCR-9503882,and ECS-0010047,the Air Force Avionics Laboratory,Wright Laboratory,under grant F33615-C-2218,and the Japan Society for the Promotion of Science Grant-in-Aid Basic Research(C) No.14580386.We would also like to thank Mark Young of Portland Group for his help in using PGI’s High Performance Fortran compiler putational resources for the work presented here were provided by the Ohio Supercomputing Center,Columbus,Ohio.Many thanks also go to the three reviewers and Professor Mark Baker for their constructive comments and suggestions which improved our paper greatly.REFERENCES1.Shang JS.A fractional-step method for solving3-D time-domain Maxwell equations.31th Aerospace Sciences Meetingand Exhibit.American Institute of Aeronautics and Astronautics:New York,1993.2.Shang JS.Characteristics based methods for the time-domain Maxwell equations.29th Aerospace Sciences Meeting.American Institute of Aeronautics and Astronautics:New York,1991.3.Shang JS,Calahan DA,Vikstrom B.Performance of afinite volume CEM code on puting Systems inEngineering1995;6(3):241–250.4.Shang JS,Fithen RM.A comparative study of characteristic-based algorithms for the Maxwell equations.Journal ofComputational Physics1996;125:378–394.5.Shang JS,Gaitonde D.Scattered electromagneticfield of a re-entry vehicle.Journal of Spacecraft and Rockets1995;32(2):294–301.Copyright c 2003John Wiley&Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621HPF IMPLEMENTATION FOR CEM ON A CRAY T3E621 6.Shang JS,Gaitonde D.Characteristic-based,time-dependent Maxwell equation solvers on a general curvilinear frame.American Institute of Aeronautics and Astronautics Journal1995;33(3):491–498.7.Shang JS,Gaitonde D,Wurtzler K.Scattering simulations of computational electromagnetics.27th AIAA Plasmadynamicsand Lasers Conference.American Institute of Aeronautics and Astronautics:New York,1996.8.Shang JS,Gaitonde D.High-orderfinite-volume schemes in wave propagation phenomena.27th AIAA Plasmadynamicsand Lasers Conference.American Institute of Aeronautics and Astronautics:New York,1996.9.Shang JS,Gaitonde D.On high resolution schemes for time-dependent Maxwell equations.34th Aerospace SciencesMeeting and Exhibit.American Institute of Aeronautics and Astronautics:New York,1996.10.Shang JS,Scherr SJ.Time-domain electromagnetic scattering simulations on multicomputers.26th AIAA Plasmadynamicsand Lasers Conference.American Institute of Aeronautics and Astronautics:New York,1995.11.Snir M et al..MPI:The Complete Reference.MIT Press:Cambridge,MA,1996.12.Gropp W,Lusk E,Skjellum ing MPI:Portable Parallel Programming with the Message-passing Interface.MITPress:Cambridge,MA,1994.13.Shang JS,Wagner M,Pan Y,Blake DC.Strategies for adopting FVTD on multicomputers.IEEE Computing in Scienceand Engineering(formerly known as IEEE Computational Science and Engineering)2000;2(1):10–21.14.Hogue C.MIPSpro(TM)Power Fortran77Programmer’s Guide.Silicon Graphics.Inc.,1996.15.Pan Y.Improvement of cache utilization and parallel efficiency of a time-dependent Maxwell equation solver on the SGIOrigin2000.Final Report for AFOSR Summer Faculty Research Program,Air Force Office of Scientific Research,Bolling Air Force Base,DC,August1997.es D,Schuster V,Young M.The PGHPF high performance Fortran compiler:Status and future directions.2nd AnnualHPF User Group Meeting.Springer:Berlin,1998;25–26.17.Shang JS,Gaitonde D.Characteristic-based,time-dependent Maxwell equations solvers on a general curvilinear frame.American Institute of Aeronautics and Astronautics Journal1995;33(3):491–498.18.Anderson WK,Thomas JL,Van Leer B.A comparison offinite volumeflux splittings for the Euler equations.AmericanInstitute of Aeronautics and Astronautics Journal1986;24(9):1453–1460.19.Koelbel CH.The High Performance Fortran Handbook.MIT Press:Cambridge,MA,1994.20.Guo M,Yamashita Y,Nakata I.An efficient data distribution technique for HPF compliers on distributed memory parallelcomputers.Transactions of Information Processing Society of Japan1998;39(6):1718–1728.21.Wolfe M.High Performance Compilers for Parallel Computing.Addison-Wesley:Reading,MA,1996.22.Guo M.A denotational semantic model of an HPF-like language.Proceedings of The First International Conference onParallel and Distributed Computing,Applications and Technologies,University of Hong Kong,May2000;1–8.23.Pan Y.Parallel implementation of computational electromagnetics simulation using high performance Fortran.Final Reportfor AFOSR Summer Research Extension Program,Air Force Office of Scientific Research,Bolling Air Force Base,DC, November1998.Copyright c 2003John Wiley&Sons,Ltd.Concurrency Computat.:Pract.Exper.2003;15:607–621。

合集下载

高性能计算机和曙光集群系统

高性能计算机和曙光集群系统
– SISD(Single-Instruction Single-Data) – SIMD(Single-Instruction Multi-Data) – MISD(Multi-Instruction Single-Data) – MIMD(Multi-Instruction Multi-Data)
• Cluster
– 每个节点都是一个完整的计算 机
– 各个节点通过高性能网络相互 连接
– 网络接口和I/O总线松耦合连 接
– 每个节点有完整的操作系统 – 曙光2000、 3000、4000,
ASCI Blue Mountain
UMA: NUMA:
访存模型
NORMA:
多处理机(单地址空间共享存储器) UMA: Uniform Memory Access NUMA: Nonuniform Memory Access
高性能计算机系统架构
➢ 并行向量机 ➢ SMP ➢ DSM(NUMA) ➢ MPP,节点可以是单处理器的节点,也可以是SMP,
DSM ➢ Cluster ➢ Constellation
高性能计算机的制造厂商
➢ Cray ➢ SGI ➢ IBM
➢ 曙光 ➢ 银河 ➢ 神威
并行计算机系统类型
➢ Flynn分类:
现代高性能计算机都属于MIMD。MIMD从结构上和访 存方式上,又可以分为:
– 结构模型:PVP, SMP, MPP, DSM, COW – 访存模型:UMA, NUMA, COMA, CC-NUMA, NORMA结构模型对称多处理机系统(SMP)
• SMP
– 对称式共享存储:任意处理器 可直接访问任意内存地址,且 访问延迟、带宽、机率都是等 价的; 系统是对称的;

并行可扩展科学计算工具箱PETSc简介与应用

并行可扩展科学计算工具箱PETSc简介与应用

PETSc简介莫则尧(北京应用物理与计算数学研究所)一、PETSc的起源与现状二、PETSc的成功应用典范三、PETSc的体系结构四、PETSc的核心组件五、PETSc程序示例六、PETSc的具体应用与比较七、PETSc的优点与缺陷一、PETSc的起源与现状1.全称:●并行可扩展科学计算工具箱●Parallel Extensible Toolkits for Scientific Computing●/petsc2.起源:●美国能源部ODE2000支持的20多个ACTS(AdvanvedComputing Test & Simulation program, 美国能源部超级计算中心/)工具箱之一,其中包括:⏹能提供算法的工具:Aztec :分布式存储并行机求解大规模稀疏线性代数系统库;Hypre :线性系统求解预条件库;Opt++ :串行非线性优化问题数值库;PETSc :并行可扩展科学计算工具箱,提供大量面向对象的并行代数数据结构、解法器和相关辅助部件,适合并行可扩展求解PDE方程(有限差分、有限元、有限体离散的隐式和显示格式);PVODE :并行常微分方程求解库;ScaLAPACK :SuperLU :代数系统直接求解库;⏹算法开发辅助工具:Global Arrays :以共享存储并行程序设计风格简化分布存储并行机上程序设计;Overture :网格生成辅助工具;POET :并行面向对象环境与工具箱;POOMA :并行面向对象方法与应用,提供大量适合有限差分和粒子类模拟方法的数据并行程序设计(HPF)的C++类;⏹运行调试与支持工具:CUMULVS,Globus,PAWS,SILOON,TAU,Tulip;⏹软件开发工具:ATLAS & PHiPAC :针对当代计算机体系结构的高性能特征,自动产生优化的数值软件,可与手工调试的BLAS库相比较(?);Nexus , PADRE, PETE;3.现状●时间:1995年—现在;●目前版本:PETSc-2.0.28 + patch,源代码公开(不包含用户自己加入的核心计算子程序);●核心人员:数学与计算机部,Argonne国家重点实验室,Satish Balay, William Gropp, Lois C.McInnes, Barry Smith;●参研人员:相关访问学者(几十人次,不同组件实现);●可移植性:CRAY T3D,T3E,Origin 2000, IBM SP, HPUX, ASCI Red, Blue Mountain, NOWs,LINUX,ALPHA等;●目前,已下载上百套;二、PETSc的成功应用典范1.PETSc-FUN3D:●参考:W.K.Anderson etc., Achieving high sustainedperformance in an unstructured mesh CFD applications,SC’99. ()●FUN3D:四面体三维无结构网格离散、求解可压或不可压Euler和Navire-Stokes方程、串行程序、百万量级的非结构网格点,NASA Langley 研究中心W.K.Anderson开发,适合飞行器、汽车和水下工具的设计优化;●核心算法:非线性方程拟时间步逼近定常解、隐格式离散、Newton线性化、Krylov子空间迭代算法、加性Schwarz预条件(每个子区域近似精确求解),具有很好的数值可扩展性(即非线性迭代次数不随处理机个数的增加而显著增加);●移植周期:五个月(初步1996.10—1997.3),包括熟悉FUN3D与网格预处理器、学习ParMetis无结构网格剖分工具并集成到PETSc中、加入和测试PETSc的新功能、优化FUN3D面向向量机的代码段到面向cache的代码段、PETSc移植(非常少的时间,小于20天),并行I/O与后处理阶段还没完成;●并行性能:⏹代码行从14400减少为3300行(77%),包含I/O;⏹优化后,串行程序发挥各微处理器峰值性能的78%-26%;(附页1)⏹ONERA M6 Wing, 2.8百万个网格单元(11百万个未知量),512—3072个ASCI Red 节点(双PentiumPro 333MHz,每节点一个进程),保持95%以上的并行效率,发挥峰值性能的22.48%;(附页2)⏹其他并行机:CRAY T3E、Origin 2000、IBM SP;●奖励:SC’99 Gordon Bell最佳应用奖;2.石油:21世纪新一代油藏数值模拟框架;(USA Texas 大学油藏数值模拟中心)3.空气动力学数值模拟中多模型多区域耦合流场问题:(USA 自然科学交叉学科重点项目);4.天体物理中恒星热核爆炸问题数值模拟;(USA Chicago大学)三、PETSc 的体系结构PETSc 层次四、PETSc的核心组件1.程序设计技术●面向对象程序设计风格+ 标准C语言实现;●标准C语言(C++)和FORTRAN语言接口;●强调以面向对象的数据结构为中心设计数值库软件,并组织科学数值计算程序的开发;●PETSc应用:a)根据应用需求,通过调用PETSc子程序建立数据结构(如向量、规则网格阵列、矩阵等);b)调用PETSc各功能部件(如索引、排序、基于规则网格的拟边界数据分布与收集、线性解法器、非线性解法器、常微分方程解法器、简单的图形输出等)的子程序来对数据对象进行处理,从而获取PETSc提供的科学计算功能;2.核心组件(component ,class):●向量(Vectors):创建、复制和释放指定长度和自由度的串行或MPI并行向量(数据段被自动分配到不同的进程);向量操作:元素的赋值与索引、类似于BLAS的向量运算、向量的可视化显示等;●索引与排序(Index Sets,Ordering):向量和矩阵元素的局部与全局、自然与多色序号的对应关系;建立和释放任意两个集合的元素之间的对应和映射关系;适合无结构网格在进程间的的任意网格剖分,以及通过数据映射操作,完成相应无规则网格拟边界数据交换的消息传递;●分布阵列(DA:Distributed Array):建立在规则网格之上,一维、二维和三维(i=1,...,L, j=1,...,N, k=1,...,N),自动或指定阵列在进程间的区域划分,并沿拟边界设置宽度任意(离散格式需求)的影象(ghost)数组,存储邻近进程在相应位置包含的网格点的数值;阵列元素可包含多个自由度,且可以任意索引和访问,属于向量的一种特殊情形,多有向量操作均适合于它;数值计算中应用最为广泛的数据结构;局部序和全局序可以索引和映射;●矩阵(Matrices):指定维数和自由度大小的串行和MPI并行矩阵的生成、复制和释放;矩阵元素的索引与访问;稀疏矩阵压缩存储格式:AIJ稀疏行、BAIJ块稀疏行、Bdiag块对角;稠密矩阵;类似BLAS的基本矩阵操作,以及矩阵元素的标准或可视化输出;矩阵的隐式形成与使用;基于无结构网格划分工具(ParMetis)的并行矩阵的形成与使用;●线性代数方程解法器(SLES):基于稀疏矩阵与向量数据结构;SLES的建立、访问、设置和释放;目前实现的解法器:Krylov子空间方法(GMRES、CG、CGS、BiCGSTAB、TFQMR、Richardson、Chebychev),预条件(Additive Schwarz、Block Jacobi(ILU)、Jacobi、serial ILU、serial ICC、serial LU);收敛性测试与监控(实时图形显示迭代误差下降趋势);●非线性代数方程与无约束优化方程解法器(SNES):基于稀疏矩阵、向量和SLES数据结构;SNES的建立、访问、设置和释放;Newton线性化:line serach、trust region;收敛性测试与监控(实时图形显示迭代误差下降趋势);●PDE或ODE时间依赖方程解法器(TS):基于稀疏矩阵、向量、SLES和SNES数据结构;TS的建立、访问、设置和释放;方法:Euler、Backward Euler、拟时间步逼近定常解等;●对象的打印、图形和可视化输出:●选项数据库支持:对所有用户指定的算法和功能部件的性能监控,可在MPI程序运行时由命令行参数输入,非常方便;mpirun –np 4 example -ksp_type bcgs –ksp_xmonitor并行性能自动统计、输出(—log_summary);用户自定义选项(如网格规模、进程个数、图形可视化输出等);3.与其他库软件的功能互用与接口:●BlockSolve95(并行ICC(0)、ILU(0)预条件);●ESSL(IBM 快速稀疏矩阵LU分解);●Matlab(数据的图形和数值后处理);●ParMeTis(并行无结构网格图剖分);●PVODE(并行常微分积分);●SPAI(并行稀疏近似逆预条件);●SAMRAI,Overture(并行网格管理软件包);五、PETSc示例1.例一:(petsc-2.0.28/src/sles/examples/tutorial/ex2f.F)! 求解二维规则区域上Dirichlet问题,其中调用PETSc的SLES部件求解!有限叉分离散所得的稀疏线性代数方程组。

生物化学笔记英文

生物化学笔记英文

WEEK 1:Overview of the cardiovascular systemLearning Objective• explain the basic anatomy of the heart and its arrangement into 4 chambers.• describe the location and function of the heart valves.• list in sequence the direction of blood flow through the four chambers of the heart.• appreciate that blood flows in series through the systemic and pulmonary circulations.• explain what causes fluid to flow through a tube.• understand the relationship between blood flow, pressure and resistance• appreci ate the three factors that influence the resistance to flow through a tube.Why do we have a circulatory system?distribute nutrients/hormones O2remove wastes + CO2thermo regulationtransport antibodies and white blood cellspenile erectionHeart (pump)Aortic and Pulmonary Valves∙(semilunar valves)Allow flow from ventricles into arteries (aorta or pulmonary artery)∙but prevent backflow from arteries to ventriclesAtrioventricular Valves∙mitral (bicuspid) valve (between left atrium and ventricle)∙tricuspid valve (between right atrium and ventricle)Allow flow from atria into ventricles∙but prevent flow from ventricles back into atriaDifference in pressure causes flowFlow is always from region of high pressure toregion of lower pressureIt is the DIFFERENCE in pressure that is important,not the absolute pressure.Flow is proportional to the pressure difference(F P)Directly proportional if flow is laminar.What is the main anatomical difference between the femoral artery andthe popliteal artery?Which artery has the higher peripheral resistance (PR)?What do you think is the relationship between artery lengthandperipheral resistance (to blood flow)?Changing the radius alters the resistance to flowFlow through a vessel increases in proportion to the fourth power of the radius of the vessel (Poiseuille’s law).Viscosity = blood is thicker than water% volume of blood occupied by red blood cellsHaematocrit = 45% in men= 42% in womenMen have a slightly higher oxygen carrying capacity of their blood (more haemoglobin)Athletes sometimes artificially elevate their haematocrit (e.g. with synthetic erythropoietin/EPO or via blood doping). What effect will this have on viscosity and blood flow in arterioles supplying the leg?Why are athletes so tempted by ‘blood doping’?Blood viscosity is largely determined by haematocrit:Haematocrit is usually maintained relatively constant:- can be abnormally low in anaemia- abnormally high with severe dehydration or synthetic erythropoietin (EPO/blood doping)3 factors determine resistance to flow:∙the length of the tube:∙the radius of the tube:∙the viscosity of the fluid:BASIC FLOW EQUATION: F = delta PRQ1 Under control conditions, flow through a blood vessel is 100 ml/min under apressure gradient of 50 mm Hg. What would be the approximate flow through thevessel after increasing the vessel radius to four times normal, assuming the pressuregradient was maintained at 50 mm Hg?(a) 300 ml/min(b) 1600 ml/min(c) 1000 ml/min(d) 16,000 ml/min(e) 25,600 ml/minQ2 Which blood vessel has the highest vascular resistance (A, B, C, D or E)?Blood flow (ml/min) Pressure gradient (mmA 1000 100C 1400 20D 1600 80E 1800 40Q3 Blood flows in continuous loop through the systemic & pulmonary circulations (blood flow equal) MAP pulmonary ~15 mmHgMAP systemic ~95 mmHgWhy the same flow but different driving pr essures?WEEK 2 & 3 Excitation of the heartREFERENCES:Vander (Human Physiology, 13th edition) = see page references throughout lecture notesPracs/simulation = Practical 2: Human Cardiovascular Function’; simulations(MOODLE) = Heart conduction.Learning objective• descri be the conducting system of the heart and how electrical activity spreads from the sino-atrial node to the rest of the heart.• describe the main ionic movements during a ventricular action potential.• explain how sino-atrial node pacemaker cells spontaneously generate action potentials.• describe the 3 phases of the ECG, including how they relate to excitation of the heart and the cardiac action potentials • describe some common cardiac arrhythmias• explain why the sino-atrial node acts as the normal pacemaker of the heart.• explain how sino-atrial node pacemaking (i.e. heart rate) is regulated by the autonomic nervous system.Heart rate ↑ during exercise∙HR ↑ in linear fashion to increase O2 delivery to active muscle.∙Exercise training ↓ resting HR. Trained athletes: resting HR as low as 40 beats/min.∙Maximum HR not altered (↓ with age).∙Return of HR to normal post exercise is indicative of aerobic fitnessExcitation (action potential) is essential for cardiac contraction:Electrical conduction: cardiac myocytes connected via gap junctionsExcitation of the heart:Excitation originates in the sinoatrial node→internodal pathways in the atria→atrioventricular node(slowed conduction ~0.05 m/s)→Bundle of His (two branches)→Purkinje fibres (rapid conduction ~3 - 5 m/s)Slow conduction through the atrio-ventricular node, WHY?Cardiac action potentials cause the excitation of the heart:Voltage difference across the cell membrane =membrane potentialVentricular action potential= stable resting membranepotential, plateau phasePacemaker action potential = no stable resting potential(pacemaker potential), less negative maximum diastolicpotential (MDP)Ionic mechanisms underlying the ventricular action potentialVentricular resting membrane potential:EXTRACELLULAR FLUID INTRACELLULAR FLUID[Na+]e 145 mM [Na+]i 15 mM[Ca2+]e 2 mM [Ca2+]i 0.0001 mM[K+]e 5 mM [K+]i 150 mMVentricular action potential (depolarization)Depolarization= opens ‘fast’ voltage-sensitive Na+ channelsDepolarization & plateau= ‘slow’ voltage-sensitive Ca2+ channelsRepolarization = voltage-sensitive K+ channelsIonic mechanisms underlying the spontaneous sino-atrial node (pacemaker) action potential:The puffer fish contains tetrodotoxin (TTX) = selective inhibitor of fast Na+ channelsTTX does nothing to cardiac pacemaker action potentials!What is the pacemaker (or funny) current?Called the ‘f’ for funny or ‘h’ for hyperpolarization current.Inward flux of Na+.The slope of the pacemaker potential determines heart rate.Sino-atrial node (pacemaker) action potential:- Inward Na+ and Ca2+- Gradual decrease in outward K+The electrocardiogram (ECG):∙ A record of the heart’s electrical activity, recorded from the surface of the body.∙As excitation sweeps over the heart at any instant some parts of the heart will be positively charged while other parts are negatively charged.∙This causes currents to flow in the medium surrounding the heart.∙Because the body is a very good conductor these small currents can be detected at the body surface.∙The ECG is a recording of these small currents and reflects the depolarisation and repolarisation of different regions ofthe heart.The ECG used as clinical diagnostic tool:Used by cardiologists to determine:(1) the anatomical orientation of the heart and the relative sizes of its chambers(2) disturbances in cardiac rhythm and conduction(3) the extent and location of ischaemic damage to the myocardium(4) the effects of drugs or abnormal concentrations of various plasma electrolytes on the hear。

剑桥8真题阅读解析

剑桥8真题阅读解析

剑桥雅思8-第三套试题-阅读部分-PASSAGE 1-阅读真题原文部分:READING PASSAGE 1You should spend about 20 minutes on Questions 1-13 which are based on Reading Passage 1 below.Striking Back at Lightning With LasersSeldom is the weather more dramatic than when thunderstorms strike. Their electrical fury inflicts death or serious injury on around 500 people each year in the United States alone. As the clouds roll in, a leisurely round of golf can become a terrifying dice with death - out in the open, a lone golfer may be a lightning bolt's most inviting target. And there is damage to property too. Lightning damage costs American power companies more than $100 million a year.But researchers in the United States and Japan are planning to hit back. Already in laboratory trials they have tested strategies for neutralising the power of thunderstorms, and this winter they will brave real storms, equipped with an armoury of lasers that they will be pointing towards the heavens to discharge thunderclouds before lightning can strike.The idea of forcing storm clouds to discharge their lightning on command is not new. In the early 1960s, researchers tried firing rockets trailing wires into thunderclouds to set up an easy discharge path for the huge electric charges that these clouds generate. The technique survives to this day at a test site in Florida run by the University of Florida, with support from the Electrical Power Research Institute (EPRI), based in California. EPRI, which is funded by powercompanies, is looking at ways to protect the United States' power grid from lightning strikes. 'We can cause the lightning to strike where we want it to using rockets, ' says Ralph Bernstein, manager of lightning projects at EPRI. The rocket site is providing precise measurements of lightning voltages and allowing engineers to check how electrical equipment bears up.Bad behaviourBut while rockets are fine for research, they cannot provide the protection from lightning strikes that everyone is looking for. The rockets cost around $1, 200 each, can only be fired at a limited frequency and their failure rate is about 40 per cent. And even when they do trigger lightning, things still do not always go according to plan. 'Lightning is not perfectly well behaved, ' says Bernstein. 'Occasionally, it will take a branch and go someplace it wasn't supposed to go. 'And anyway, who would want to fire streams of rockets in a populated area? 'What goes up must come down, ' points out Jean-Claude Diels of the University of New Mexico. Diels is leading a project, which is backed by EPRI, to try to use lasers to discharge lightning safely - and safety is a basic requirement since no one wants to put themselves or their expensive equipment at risk. With around $500, 000 invested so far, a promising system is just emerging from the laboratory.The idea began some 20 years ago, when high-powered lasers were revealing their ability to extract electrons out of atoms and create ions. If a laser could generate a line of ionisation in the air all the way up to a storm cloud, this conducting path could be used to guide lightning to Earth, before the electric field becomes strong enough to break down the air in an uncontrollable surge. To stop the laser itself being struck, it would not be pointed straight at theclouds. Instead it would be directed at a mirror, and from there into the sky. The mirror would be protected by placing lightning conductors close by. Ideally, the cloud-zapper (gun)would be cheap enough to be installed around all key power installations, and portable enough to be taken to international sporting events to beam up at brewing storm clouds.A stumbling blockHowever, there is still a big stumbling block. The laser is no nifty portable: it's a monster that takes up a whole room. Diels is trying to cut down the size and says that a laser around the size of a small table is in the offing. He plans to test this more manageable system on live thunderclouds next summer.Bernstein says that Diels's system is attracting lots of interest from the power companies. But they have not yet come up with the $5 million that EPRI says will be needed to develop a commercial system, by making the lasers yet smaller and cheaper. 'I cannot say I have money yet, but I'm working on it, ' says Bernstein. He reckons that the forthcoming field tests will be the turning point - and he's hoping for good news. Bernstein predicts 'an avalanche of interest and support' if all goes well. He expects to see cloud-zappers eventually costing 100, 000 each.Other scientists could also benefit. With a lightning 'switch' at their fingertips, materials scientists could find out what happens when mighty currents meet matter. Diels also hopes to see the birth of 'interactive meteorology' - not just forecasting the weather but controlling it. 'If we could discharge clouds, we might affect the weather, ' he says.And perhaps, says Diels, we'll be able to confront some other meteorological menaces. 'We think we could prevent hail by inducing lightning, ' he says. Thunder, the shock wave that comes from a lightning flash, is thoughtto be the trigger for the torrential rain that is typical of storms. A laser thunder factory could shake the moisture out of clouds, perhaps preventing the formation of the giant hailstones that threaten crops. With luck, as the storm clouds gather this winter, laser-toting researchers could, for the first time, strike back.Questions 1-3Choose the correct letter, A, B, C or D.Write the correct letter in boxes 1-3 on your answer sheet.1 The main topic discussed in the text isA the damage caused to US golf courses and golf players by lightning strikes.B the effect of lightning on power supplies in the US and in Japan.C a variety of methods used in trying to control lightning strikes.D a laser technique used in trying to control lightning strikes.2 According to the text, every year lightningA does considerable damage to buildings during thunderstorms.B kills or injures mainly golfers in the United States.C kills or injures around 500 people throughout the world.D damages more than 100 American power companies.3 Researchers at the University of Florida and at the University of New MexicoA receive funds from the same source.B are using the same techniques.C are employed by commercial companies.D are in opposition to each other.Questions 11-13Do the following statements agree with the information given in Reading Passage 1?In boxes 11-13 on your answer sheet writeYES if the statement agrees with the claims of the writerNO if the statement contradicts the claims of the writerNOT GIVEN if it is impossible to say what the writer thinks about this11 Power companies have given Diels enough money to develop his laser.12 Obtaining money to improve the lasers will depend on tests in real storms.13 Weather forecasters are intensely interested in Diels's system.READING PASSAGE 1篇章结构解题地图难度系数:★★★解题顺序:按题目顺序解答即可友情提示:烤鸭们注意:本文中的SUMMARY题目顺序有改变,解题要小心;MULTIPLE CHOICE的第三题是个亮点,爱浮想联翩的烤鸭们可能会糊掉。

并行计算体系结构

并行计算体系结构
多计算机(多地址空间非共享存储器) NORMA:No-Remote Memory Access
8
最新的TOP500计算机
12:12
9
最新的TOP500计算机
12:12
10
来自Cray的美洲豹“Jaguar”,凭借1.75 PFlop/s(每秒1750万亿 次)的计算能力傲视群雄。“Jaguar”采用了224162个处理器核 心
12:12
2
结构模型
共享内存/对称多处理机系统(SMP)
PVP:并行向量机
单地址空间 共享存ess) SMP:共享内存并行机( Shared Memory Processors )。多个处理器通过交叉开关 (Crossbar)或总线与共享内存互连。
来自中国的曙光“星云”系统以1271万亿次/s的峰值速度名列 第二
• 采用了自主设计的HPP体系结构、高效异构协同计算技术
• 处理器是32nm工艺的六核至强X5650,并且采用了Nvidia Tesla C2050 GPU做协处理的用户编程环境;
异构体系结构 专用 通用
TOP500中85%的系统采用了四核处理器,而有5%的系统已经使
12:12
6
Cluster:机群系统
Cluster(Now,Cow): 群集系统。将单个节点,用商业网 络 :Ethernet,Myrinet,Quadrics, Infiniband,Switch等连结起来形成群 集系统。
• 每个节点都是一个完整的计算机 (SMP或DSM),有自己磁盘和操 作系统
系统在物理上分布、逻辑上共享。各结点有
自己独立的寻址空间。
• 单地址空间 、分布共享
• NUMA( Nonuniform Memory Access )

02_2并行计算机(系统结构)

02_2并行计算机(系统结构)

P
M
P M
P M
...
P M
2019/2/23
23
构建并行机系统的不同存储结构
PVP (Cray
中央存储器 T90)
UMA SMP SGI
多处理机 ( 单地址 空间 共享 存储器 ) (Intel SHV,SunFire,DEC 8400, PowerChallenge,IBMR60,etc.) (KSR-1,DDM) (Stanford Dash, SGI Origin 2000,Sequent NUMA-Q, HP/Convex Exemplar) (Cray T3E)
2019/2/23 10
MPP(Massively Parallel Processor)



处理节点采用微处理器 系统中有物理上的分布式存储器 采用高通信带宽和低延迟的互连网络(专门设 计和定制的) 能扩展至成百上千乃至上万个处理器 异步MIMD,构成程序的多个进程有自己的地 址空间,进程间通信消息传递相互作用
16
Origin3000 与 Altix3000
Origin3000
2019/2/23
Altix3000
17
并行计算机内存访问模型

UMA / NUMA / COMA / CC-NUMA / NORMA
2019/2/23
18
并行计算机访存模型(1)

UMA(Uniform Memory Access)模型是均匀存储访问模型的 简称。其特点是:
节 点1 P / C 节 点N M e m P / C
… P/C
交 叉 开 关 总 线 或
…
I / O
…P/C
开 关 总 线 或 交 叉

妇产科英语试题及答案

妇产科英语试题及答案一、选择题(每题1分,共10分)1. Which of the following is a common gynecological examination?A. Blood pressure testB. Pap smearC. Chest X-rayD. Electrocardiogram2. What is the medical term for the first stage of labor?A. Latent phaseB. Active phaseC. Transition phaseD. Expulsion phase3. The hormone responsible for the development of female reproductive organs is:A. EstrogenB. ProgesteroneC. TestosteroneD. Insulin4. Which of the following is not a symptom of polycystic ovary syndrome (PCOS)?A. Irregular menstrual cyclesB. AcneC. InfertilityD. Excessive thirst5. What is the term used to describe the process of a fertilized egg implanting into the uterine lining?A. ImplantationB. ConceptionC. EmbryogenesisD. Parturition6. The most common type of birth is:A. Vaginal birthB. Cesarean sectionC. Breech birthD. Forceps-assisted birth7. Which of the following is a prenatal diagnostic test?A. UltrasoundB. AmniocentesisC. Blood pressure monitoringD. Fetal heart rate monitoring8. The hormone that stimulates the production of breast milk is:A. OxytocinB. ProlactinC. EstrogenD. Cortisol9. What is the medical term for the surgical removal of the uterus?A. HysterectomyB. OophorectomyC. SalpingectomyD. Cystoscopy10. Which of the following is a risk factor for gestational diabetes?A. Family history of diabetesB. SmokingC. Alcohol consumptionD. All of the above二、填空题(每空1分,共10分)1. The process of childbirth is divided into three stages: the _______ phase, the _______ phase, and the _______ phase.2. The medical condition characterized by the presence of cysts in the ovaries is known as _______.3. A _______ is a type of imaging technique used to visualize the fetus during pregnancy.4. The hormone _______ is responsible for the thickening of the uterine lining during the menstrual cycle.5. A _______ is a surgical procedure used to remove fibroids from the uterus.6. The _______ is the process by which a baby is born through the vagina.7. The _______ is a condition that affects the female reproductive system and can cause infertility.8. The _______ is the process of a woman's body preparing for childbirth.9. The _______ is a condition where the cervix opens too early during pregnancy, leading to a risk of preterm birth.10. The _______ is the period of time after childbirth when the mother's body returns to its pre-pregnancy state.三、简答题(每题5分,共20分)1. Explain the difference between a Pap smear and a colposcopy.2. Describe the stages of labor and the signs that indicate the onset of labor.3. What are the common symptoms of menopause, and how are they managed?4. Discuss the importance of prenatal care and the types of tests that are typically performed.四、论述题(每题15分,共30分)1. Discuss the various methods of contraception and their effectiveness, side effects, and suitability for different individuals.2. Elaborate on the role of a midwife in the process of childbirth and the importance of continuous support during labor.五、病例分析题(共30分)A patient presents to the gynecologist with complaints of heavy menstrual bleeding and severe cramps. She also mentions that she has been experiencing these symptoms for the pastsix months. Based on the information provided, discuss the possible causes of these symptoms, the diagnostic tests that may be performed, and the potential treatment options.答案:一、选择题1. B2. A3. A4. D5. A6. A7. B8. B9. A 10. A二、填空题1. First, second, third2. Polycystic ovary syndrome (PCOS)3. Ultrasound4. Progesterone5. Myomectomy6. Vaginal delivery7. Endometriosis8. Childbirth9. Cervical insufficiency10. Postpartum period三、简答题1. A Pap smear is a screening test for cervical cancer, whilea colposcopy is a more detailed examination of the cervix using a magnifying instrument.。

大学英语新视野3第三单元单词详解


LOGO
Paragraph 3-11 5. spread: spread to: (cause to) reach sb. or sth. else, as by touching or other means of passing 消防队员成功地防止了火势蔓延到其他办公楼。 Firemen succeeded in preventing the fire from spreading to other office buildings. 这项运动已经发展到了牛津大学。 This movement spread to Oxford. 医生认为癌症已经扩散到了他的胃部,因此治疗起 来比较困难。 The doctor thought that the cancer has spread to his stomach, so it will be difficult to deal with.

LOGO
Paragraph 1-2
(2) prepare and use (land, soil, etc.) for growing crops 那里的大部分土地太贫瘠,无法耕种。 Most of the land there is too poor to cultivate. 他用一台大型拖拉机耕地。 He cultivated the field with a large tractor. 他退休以后就在家里种花,生活很舒适。 After he retired, he cultivated some flowers at home and he led a very comfortable life. 这里的人们主要种植稻子和豆类。 The people cultivate mainly rice and beans.

3 计算机系统 量化分析技术


晶体管、磁 芯、印刷电 路 SSI和MSI、 多层印刷电 路、微程序
浮点数据表示、 高级语言和 寻址技术、中 编译、批处 断、I/O处理机 理监控系统 流水线、Cache、 多道程序和 先行处理、系 分时操作系 列计算机 统 并行与分布 处理
Univac LARC、 CDC1604、IBM7030
IBM360/370、 CDC6600/7600、 DEC PDP-8 Cray-1、IBM 3090、 DEC VAX9000、 Convax-1 SGI Cray T3E、IBM SP2、DEC AlphaServer8400
北京信息科技大学
计算机系统结构

并行性(Parallelism): 在同一时刻或是同一时间间隔内完成两种或两种以上性 质相同或不相同的工作


同时性(Simultaneity) 同一时刻发生的并行性 并发性(Concurrency) 同一个时间间隔内发生的并行性 指令内部并行:微操作之间 指令级并行(ILP:Instruction Level Parallel) 线程级并行(TLP:Thread Level Parallel ) 程序级并行 系统级并行,例如分布式系统、多机系统、机群系统
北京信息科技大学
计算机系统结构
CPU性能 时钟频率、指令执行速度、平均速度
北京信息科技大学
计算机系统结构
时钟频率(处理机主频)
计算机系统中与实现技术和工艺有关的因素。单位是
MHz(f)。

时钟频率只能用于同一类型、同一配置的处理机,相对比 较,比如:

Pentium43.2G比Pentium41.6G快一倍? Pentium42.4G比Pentium41.6G快50%?

并行程序设计模型和语言

Vol.13, No.1©2002 Journal of Software 软 件 学 报1000-9825/2002/13(01)0118-07并行程序设计模型和语言á安 虹, 陈国良(中国科学技术大学 计算机科学技术系,安徽 合肥 230027);(国家高性能计算中心(合肥),安徽 合肥 230027)E-mail:han@摘要:并行计算技术的发展已有20多年的历史了.时至今日,高性能并行计算仍然缺乏有效的并行程序设计方法和工具,使得编写并行程序调试和优化并行程序的性能都很困难.从分析并行程序设计困难的原因入手,指出了当前各种高性能并行机系统支持的并行程序设计方法存在的诸多问题,综述了并行程序设计模型和语言的研究现状,给出了并行程序设计模型的评价标准,并提出了这一研究领域所面临的挑战性问题,指出了一些未来可能的发展方向.关 键 词:并行程序设计;模型;语言;可移植性;可扩放性;局部性中图法分类号:TP312 文献标识码: A并行计算技术的发展已有20多年的历史了,高性能并行计算机系统正在进入越来越多的应用领域.与硬件的发展相比,并行软件的发展则显得更加滞后,影响了硬件效率的发挥,限制了并行机系统的广泛应用.并行程序设计理论和技术的研究已成为发展并行处理技术当务之急的课题.并行程序设计方法经历了多年的发展和实践检验,进一步的发展面临着诸多挑战性问题,现在应该是很好地进行总结的时候了.1 并行程序设计困难的原因时至今日,高性能并行计算机上至今仍然缺乏有效的并行程序设计方法和工具,使得编写并行程序调试和优化并行程序的性能都很困难.并行程序设计困难的深层原因在于,高性能并行计算技术在发展过程中存在着以下问题:(1) 迄今为止,并行计算所需的理论仍然是不成熟的,没有理论或很少有理论为技术的发展指明方向.我们还不知道更多的表示并行计算的方法,也不知道逻辑上如何推理它们,甚至不知道在实际的体系结构上,什么样的并行算法才是有效的.(2) 人们花了很长时间才理解并行计算机的不同部分的性能需要平衡以及这个平衡是如何影响性能的.要获得好的性能,则需要仔细控制处理器速度和互连通信性能的关系,同时也需要与存储器层次的性能取得平衡.许多并行系统无法很好地支持实现这种平衡,甚至把这个艰难的工作交给用户去做.(3) 人们已经习惯于以串行的方式来理解),女,山东胶州人,博士,副教授,主要研究领域为并行计算机体系结构,并行程序设计环境与工具,高性安虹等:并行程序设计模型和语言119第三,数据也必须在处理器间进行划分,以保持数据的局部性,因为移动数据是要开销的.(4) 与串行程序设计相比,并行程序设计中存在的可移植性问题更加严重.由于至今还没有哪个并行体系结构家族是独立于技术变化的,当需要将一个软件系统从一个并行平台移植到另一个上时,则可能意味着要完全重建这个软件.许多用户至今还未能从高性能并行计算中得到实际的好处,就是因为重写代码的难度太大.并行软件用户期望在他们所使用的并行计算平台上能获得平滑的过渡,这样可以平滑地重新设计和重建软件.(5) 长期以来,并行系统的设计目标只面向市场较小的科学和工程计算,而忽视了大的工业和商用市场,使得并行机十分昂贵,增加了制造商和用户的投资风险,减小了用户使用并行机的热情,从而势必造成其上的软件技术发展缓慢.并行程序设计环境和工具从来都缺少较长的生长期,无法通过不断的版本更新,形成与现今的PC机或工作站一样好用的环境和工具.2 研究现状并行程序设计模型是硬件和软件之间的桥梁,是并行计算的低层实现与高层抽象的界面.为了帮助程序员解决并行程序设计面临的挑战性问题,并行程序设计模型和语言的研究者们已经研究了许多种不同的模型和语言,但迄今为止,还没有哪一种模型是通用的和完美的.2.1 模型研究的硬件结构抽象观点尽管模型的建立应独立于具体的硬件结构,但现有的大多数并行程序设计模型和语言的产生与发展还是深受并行硬件系统结构发展的影响,尤其在并行系统发展的早期.在20世纪80年代后期有两个相互竞争的硬件方法:SIMD(single instruction multiple data)和MIMD (multiple instruction multiple data),最后是MIMD占了上风.硬件也可区分为共享存储和分布存储机器.近年来,共享存储和分布存储的概念本质上已趋于合一.现今大规模并行一般使用多个计算节点和分布存储来实现,每个计算节点内部采用共享存储.一些商家试图在分布存储的机器上提供一个单一的存储映像,使并行机看上去更像一台大的工作站.目前,分布共享存储程序设计只是在处理器数较少的情况下获得了成功,随着处理器数量的增加很少能获得成功.其原因主要不在硬件方面,而在于编译器不能识别和利用数据的局部性.例如,Cray T3E 的通信模式已经做得开销很低了,但显式的消息传递依然是使用多个处理器时最有效的方式.因此,我们认为分布共享存储程序设计可能并非并行计算的圣杯,尽管它是当前许多研究者所追寻的目标.究竟采用哪种方法才是正确的,可能取决于可得到的硬件以及想要得到什么量级的并行.模型和语言代表了用户与并行体系结构之间的中介,应该保障有更多的应用领域能简单而有效地使用并行计算.从体系结构中抽象出来的模型和语言的可用性对并行软件的开发过程有着很重要的影响,也对并行计算系统能否获得广泛应用产生重要影响.第2.2~2.4节主要从这一角度来讨论模型和语言的发展现状.2.2 共享存储的模型和语言共享存储的程序设计模型大多是由PVP(parallel vector processor)和SMP(symmetric multiprocessor)平台提供,共享存储的程序大多是在特定的多处理器平台上用平台专用的语言写成.在这种模型上,数据处在单一地址空间,分为共享和私有两种,数据通信通过共享存储来完成.平台独立的共享存储并行程序设计的标准模型有X3H5[1]¿âÀý³ÌºÍ»·¾³±äÁ¿ÎªUNIX和Wondows NT平台提供共享存储的应用程序接口.支持共享存储并行的标准Fortran语言有PCF(parallel computing forum)[4].它是在Fortran 77里加入并行结构,使程序员能对并行性进行控制,但需要程序员关注进程同步和数据共享问题.商用共享存储语言的例子有SGI P ower C[5].它在串行C语言的基础上扩展了编译制导(compiler directives)和库函数,用于支持共享变量的并行程序设计.SGI对Fortran也提供了类似的扩展结构.120Journal of Software软件学报 2002,13(1)2.3 消息传递的模型和语言分布存储结构的出现带来了两大焦点问题:局部性要求和并行程序设计的复杂性.一种解决局部性的方法是使用显式描述并行的方法,对应于采用消息传递库的消息传递模型和采用说明语句的数据并行模型.在消息传递模型中,一个并行应用由一组进程组成,每个进程的代码是本地的,只能访问私有数据,进程之间通过传递消息实现数据共享和进程同步.消息传递的优点是用户可以对并行性的开发模块化的并行程序.其他的消息传递软件系统还有P4,Vertex,PARMACS,Zipcode,UNIFY和PICL等.在当前所有的消息传递软件中,最重要SMP工作站和PC组成的机群系统,并已经在Windows NT和Windows 95这样的非Unix平台上实现,提供了对C语言银河和曙光上都实现了对MPI和PVM的支持[12].2.4 数据并行的模型和语言数据并行模型的目的是要在分布存储的机器上实现在全局名空间进行并行程序设计,以屏蔽显式的通信问题.它是一种细粒度的并行.数据并行语言用单线程控制配合用户定义的数据和计算在处理器上的分布注释,使用户能够有效地将一些低层细节留给编译器和运行时系统去实现,用户所要做的全部工作就是给出有关并行的指示(parallel directives),说明哪段程序要并行执行.与消息传递模型相比,数据并行程序设计能在一定程度上减轻程序员的负担,但是完全依赖于程序员能否确定一个好的数据分布.最早允许用户控制数据布局(the layout of data)的语言是为SIMD机器ILLIAC IV开发的语言IVTRAN[13].在MIMD环境下第一个引入分配声明(distribution declarations)的语言是Kali[14].Kali编译器[15]是第一个集成静态和运行时通信策略的编译器.Thinking Machines联合COMPASS公司在Connection Machine上的Fortran-8x的子集中引入了静态布局说明(static layout directives)以及数组对准(alignment of arrays)说明[16].Fortran D[17]采用了稍有不同的指示数据分布的方法,即所谓“分解(decompositions)”的方法.它通过先将数据数组对准虚拟数组的方法来指示数据分布,然后用类似于CM-Fortran中的方法,对不同维使用相对权重分配到一个隐式的处理器集合中.该语言允许根据简单规则的分布和不规则的分布来扩展一组对准.Vienna Fortran[18]是上述Fortran 语言中第一个提供了完整的定义映射结构的语言,它主要基于Kali模型.允许数组与数组的对准,因此能够将数组显式地分布到一个处理器阵列上.Thinking Machines公司为它的Connection Machine CM-2和CM-5开发了几个有影响的数据并行语言,像C*,C M F ortran和*Lisp.一些其他的项目也对促进数据并行及其编译技术的开发有所贡献,其中包括很多商业上的努力[19].最重要的数据并行语言是Fortran 90[20]和HPF(high performance Fortran)[19,21].HPF是Fortran 90的扩充.它们都与现有的Fortran语言标准兼容.随着体系结构的发展和科学计算程序设计越来越复杂,该语言的局限性变得越来越明显.对HPF的批评主要有3个方面:认为HPF是一个太低层的语言,通过改进语言编译技术和体系结构,完全可以避开HPF风格的语言所要求安虹等:并行程序设计模型和语言121应用的需要.2.5 模型研究的其他观点以模型的抽象性作为分类的依据,并行程序设计模型还可以分为显式(抽象层次低)和隐式(抽象层次高)两种类型.D.B.Skillicorn和D.Talia从模型的抽象性角度对各种引入了重要思想的并行程序设计模型和语言进行了评价,阐述了它们的发展历史和相互关系,着力描述了各种模型的关键特性[22].我们还可区分基于并行计算理论的模型(如PRAM[23],BSP[24]和LogP[25]模型)基于程序构造的模型(如CSP[28]和Linda[29]模型),也可以根据模型的可表达性和可扩放性来对模型进行分类.限于文章的篇幅,在此不一一讨论.总的说来,尽管有关并行程序模型和语言的研究异彩纷呈,但根据厂家支持和用户人数的规则,当前在实际应用中两种最成功的并行程序设计模型是显式的消息传递标准MPI和共享存储的标准OpenMP.在这两者当中,只有MPI的成功是名副其实的.OpenMP比较新,还需要时间的考验.3 并行程序设计模型的评价标准通过对大量现有的各种并行程序设计模型和语言的分析,可以总结出一个好的并行程序设计模型所应具备的性质.我们可以将这些性质作为模型的评价标准,用于比较各种模型的主要性能和指导新模型的设计.这些性质包括:(1) 尽可能抽象和简单,易于学习与理解.大规模并行程序设计通常是非常复杂的,常常要产生大量并行执行的进程(或线程),并要求能可靠地控制它们的执行,提供进程之间交互的手段.为了减少算法或程序设计人员的负担,模型应能通过一定的抽象,将尽可能多的指示程序并行执行的程序结构由转换机制(如编译器和运行时系统)来插入,而不应由程序员手工去做.这就意味着模型应该尽可能隐藏以下编程细节:线程到处理器的映射;线程间的同步,从而为用户提供一种简洁的描述程序并行的手段,使得模型易于学习和理解,否则,软件开发者就不会愿意使用它.(2) 体系结构独立.由于处理器和互连网络技术发展迅速,计算机系统结构只有较短的生命周期.并行计算的用户必须准备好可能每隔5年甚至更短的时间就要更换他们所用的并行机,并且新的并行计算机不可能与被更换掉的完全一样.如果想普及并行计算,就必须将并行软件从并行计算机底层的更新变化中隔离出来.模型应能够描述在不同体系结构的并行机上实现的并行算法或程序.模型越抽象,其体系结构的独立性越强,算法和软件的可移植性也就越强.(3) 能提供一套完整的软件开发方法.迄今为止已有的大量并行软件都是数值的或用于科学计算的,对它们的开发都没有优先考虑开发方法.这有两方面的原因:由于科学计算类的应用大多属于研究性质,而不是生产性的,因此很少强调这类软件发展的长期性,因为许多程序只打算短期使用.随着生产性并行应用的增加,比起串行程序设计,完整的并行软件开发方法似乎是更为基本的问题.我们需要经过长期的工作来建立正确的并行软件构造方法.模型的研究必须充分地考虑这一点.(4) 能够保障性能.模型应该能在各种并行系统结构上保障性能.现在我们已经完全明白,通信性能是对系统结构的基本限制.系统性能降低的原因通常是由于通信拥塞.只有支持限制通信频度的模型,或者是作了足够的限制来实现程序和数据局部性的模型,才能在所设计的并行计算机上保证好的性能.(5) 可测量程序的成本.程序的成本主要包括程序的执行时间,其次是处理器的利用率和软件开发的成本.在并行程序开发中对并行程序作小的改变和对目标计算机的选择都会影响程序的成本.一个程序在模型中的性能与其在实现中的性能之间应该存在等价关系.成本测量还要与模块性配合好.现代软件几乎都是在不同的时间里以分块的方式开发出来的,这意味着要能给每个开发小组限定一个资源预算.如果每个小组都能满足分配给他们的个别成本,就可以实现总的成本目标.这就意味着成本测量必须是可合成的,总的成本易于由其部分122Journal of Software软件学报 2002,13(1)在上述并行程序设计模型的评价准则之间不可避免地存在着一定的相互对立和矛盾.如,高层抽象提高了模型的通用性和简洁性,但同时失去了模型应具有的精确性;低层抽象虽然保证了模型的精确性,但却限制了模型的通用性,并增加了描述并行的复杂性.为了缓和这种矛盾,目前对模型的设计和使用大多是在这些性质之间进行了某种权衡.4 未来的挑战和发展趋势在过去10年里,并行计算的应用领域发生了两方面的变化:一方面是由市场较小的科学和工程计算转向市场巨大的商业和工业应用;另一方面是并行计算应用的规模和复杂性大大增加,呈现出高性能代码可移植软件包多学科并行程序框架(中间层)和代码(低层)三个设计层次,在每个层次上分别研究新的或集成现有的成功的设计方法.(2) 可视化的并行软件构造方法.在高层进行并行程序设计时,应该特别强调可视化的设计方法[31].用可视编程语言开发并行软件,设计者可以把头脑中的概念模型先用一张图“画”出来,这张图就是可视的并行程序.可视并行程序由系统提供的变换程序自动或半自动地翻译成在具体的并行机上可并行的执行代码,用户主要关心系统的概念模型,不必一开始就陷入复杂的并行语言的编程细节之中.我们正在研究以可视化的标准建模语言UML(unified modeling language)[32]为框架,建立面向对象的可视化并行软件开发方法.(3) 面向对象的并行程序设计语言.传统的并行程序设计方法主要基于功能分解,存在着功能抽象较为困难调试和复用,并发的面向对象程序设计语言正在成为新的研究热点[33].近年来,计算科学界也开始倾向于采用更先进的面向对象方法,而不再是抱着Fortran语言不放[34].从短期来看,让计算科学界学习新的面向对象语言和方法似乎很费时间,但从长远来看,这将有利于从根本上产生更好的并行软件,提高并行软件的生产效率.(4) 并行程序动态行为分析理论.由于并发同步和不确定的特性,使得并行程序的正确性验证和性能效率的判断非常困难.并行程序的正确性调试并行和分布系统[35],是一个值得重视的研究方向.(5) 异质环境下的并行计算问题.我们注意到,中间件技术CORBA[36]和跨平台的面向对象语言Java[37]已经解决了传统的硬件安虹等:并行程序设计模型和语言123于在模型层解决并行程序设计所面临的一系列问题.目前,在中国科学技术大学计算机科学技术系和国家高性能计算中心(合肥)正在进行的并行程序设计模型环境和工具的研究[38,39]正是沿着这个方向进行的.References:[1] American National Standards Institute. ANSI Technical Committee X3H5. Parallel Processing Model for High-Level ProgrammingLanguages, 1993.[2] IEEE. POSIX P1003.4a: Threads Extension for Portable Operating Systems. Piscataway, NJ: IEEE Press, 1994.[3] OpenMP Standards Board. OpenMP: a Proposed Industry Standard API for Shared Memory Programming. 1997. http://www./openmp/mp-documents/paper/paper.Html.[4] Parallel Computing Forum. PCF: parallel Fortran extensions. Fortran Forum, 1991,10(3):1.[5] Silicon Graphics, IRIS Power C User’s Guide, Silicon Graphics Computer Systems, Mountain View, CA, 1989.[6] Tucker, L.W., Mainwaring, a. CMMD: active messages on the CM-5. Parallel Computing, 1994,20(4):481~496.[7] Kolawa, A. Parasoft: a comprehensive approach to parallel and distributed computing. In: IEEE Computer Society, ed. Proceedingsof the Workshop on Cluster Computing. Los Alamitos, CA: IEEE Press, 1992.[8] Pierce, P., Regnier, G. The paragon implementation of the NX message passing interface. In: IEEE Computer Society, ed.Proceedings of the Scalable High-Performance Computing Conference. Los Alamitos, CA: IEEE Press, 1994, 184~190.[9] Foster, I., Chandy, K.M. Fortran M: a language for modular parallel programming. Journal of Parallel and Distributed Computing,1995,26(1):24~35.[10] CORPORATE the MPI Forum. MPI: a message passing interface. In: ACM, ed. Proceedings of the conference onSupercomputing’93. New York: ACM, 1993. 878~883.[11] PVM Home Page at UTK. /pvm.[12] Chen, Guo-liang. Parallel Computing: Architecture Programming. Beijing: Higher Education Press, 1999 (in Chinese).[13] Millstein, P.E. Control structures in ILLIAC IV Fortran. Communications of the ACM, 1973, 16(10):621~627.[14] Mehrotra, P., Rosendale, J.V. Programming distributed memory architectures using Kali. In: Nicolar, A., Gelernter, D., Gross, T., etal., eds. Advances in Languages and Compilers for Parallel Processing. Pitman: MIT Press, 1991. 364~384.[15] Koelbel, C., Mehrotra, P. Compiling global name-space parallel loops for distributed execution. IEEE Transactions on ParallelDistributed System, 1991,2(4):440~451.[16] Albert, E., Knobe, K., Lukas, J.D., et al. Compiling Fortran-8×array features for the connection machine computer system. In:Proceedings of the Symposium on Parallel Programing: Experience with Applications, Languages, and Systems (PPEALS). New Haven, CT, 1988. 42~56.[17] Fox, G., Hiranandani, S., Kennedy, K., Koelbel, C., et al. Fortran D language specification. Technical Report, TR90079, Houston:Department of Computer Science, Rice University, 1991.[18] Chapman, B., Mehrotra, P., Zima, H. Programming in Vienna Fortran. Scientific Programming, 1992,1(1):1~35.[19] Mehrotra, P., Rosendale, J.V., Zima, H. High performance Fortran: history, status and future. Parallel Computing, 1998,24(3-4):325~354.[20] Adams, J., Brainerd, W., Martin, J., et al. The Fortran 95 Handbook. Menlo Park, CA: MIT Press, 1997.[21] High performance FORTRAN language specification. 1993. ftp://.[22] Skillicorn, D.B., Talia, D. Models and languages for parallel computation. ACM Computing Surveys, 1998,30(2):123~169.[23] Fortune, S., Wyllie, J. Parallelism in random access machines. In: ACM, ed. Proceedings of the 10th ACM Symposium on Theoryof Computing. New York: ACM Press, 1978. 114~118.[24] Valiant, L. G. A bridging model for parallel computation. Communications of the ACM, 1990,33(8):103~111.[25] Culler, D., Karp, R., Patterson, D., et al. LogP: towards a realistic model of parallel computation. In: Proceedings of the 4th ACMSIGPLAN Symposium on Principles and Practices of Parallel Programming (PPoPP’93). San Diego, CA: ACM Press, 1993. 1~12.[26] Banatre, J.P., Metayer, D.L. Introduction to gamma. In: Banatre, J.P., LeMetayer, D., eds. Research Directions in High-LevelParallel Programming Languages. LNCS574, Springer-Verlag, 1991. 197~202.[27] Bickford, M. Composable specifications for synchronous systems using UNITY. In: Proceedings of the International Symposium onAdvanced Research in Asynchronous Circuits and Systems. 1994. 216~227.[28] Hoare, C.A.R. Communicating Sequential Processes, International Series in Computer Science. Englewood Cliffs, NJ: Prentice-Hall, Inc., 1985.[29] Carriero, N., Gelernter, D. Application experience with Linda. In: ACM, ed. Proceedings of the ACM/SIGPLAN Symposium on124Journal of Software软件学报 2002,13(1)[30] Womble, D.E., Dosanjh, S.S., Hendrickson, B., et al. Massively parallel computing: a Sandia perspective. Parallel Computing,1999,25(13-14):1853~1876.[31] Beguelin, A., Nutt, G. Visual parallel programming and determinancy: a language specification, an analysis technique, and aprogramming tool. Journal of Parallel and Distributed Computing, 1994,22(2):235~250.[32] Booch, G. UML in action. Communications of the ACM, 1999,42(10):26~28.[33] Yang, Da-jun, Zhang, Ming, Lü, Jian. The study of concurrent object oriented programming language. Computer Research andDevelopment, 1998,35(9):769~775 (in Chinese).[34] Gosling, J. Extensions to Java for numerical computation. In: ACM, ed. Proceedings of the ACM 1998 Workshop on Java for High-Performance Network Computing. 1998. /conferences/java98.[35] Lin, Chuang. Stochastic Petri Net and System Performance Evaluation. Beijing: Tsinghua University Press, 2000 (in Chinese).[36] Zhan, Yong-zhao, Xie, li, Sun, Zhong-xiu. The strategies of implementation of distributed application systems by using CORBA.Computer Science, 1999,26(4):13~16 (in Chinese).[37] Arnold, K., Gosling, J. The Java Programming Language. Reading, MA: Addison-Wesley, 1996.[38] An, Hong, Li, Hong, Wu, Ming, et al. A Java/CORBA based universal framework for super server user-end integrated environments.In: Chen, Jian, Lü, Jian, Meyer, B., eds. Proceedings of the 31st International Conference on Technology of Object Oriented Languages and Systems (TOOLS’ 31). Los Alamitos, CA: IEEE Computer Society Press, 1999. 336~341.[39] Wang, Feng, Zheng, Qi-long, An, Hong, et al. A parallel and distributed debugger implemented with Java. In: Chen, Jian, Lü, Jian,Meyer, B., eds. Proceedings of the 31th International Conference on Technology of Object Oriented Languages and Systems (TOOLS’31). Los Alamitos, CA: IEEE Computer Society Press, 1999. 342~346.附中文参考文献:[12]陈国良.并行计算结构编程.北京:高等教育出版社,1999.[33]杨大军,张鸣,吕建.并发面向对象程序设计语言研究与进展.计算机研究与发展,1998,35(9):769~775.[35]林闯.随机Petri网和系统性能评价.北京:清华大学出版社,2000.[36]詹永照,谢立,孙钟秀.使用CORBA实现各种分布式应用系统的策略.计算机科学,1999,26(4):13~16.Parallel Programming Models and LanguagesáAN Hong, CHEN Guo-liang(Department of Computer Science and Technology, University of Science and Technology of China, Hefei 230027, China);(National High Performance Computing Center at Hefei, Hefei 230027, China)E-mail: han@Abstract:Parallel computing is about 20 years old. Till now, there is a lack of effective parallel programming methods and tools in high performance computing as a result that it is very difficulty to parallel programming, understanding behaviors of parallel program, debugging parallel codes and optimizing performance. In this paper, the reasons why so difficulty parallel programming is are analyzed, while the issues about parallel programming methods existing in recent high performance parallel machines are addressed, the current status of parallel programming models and languages are surveyed, the view of the criteria is offered to evaluate parallel programming models, the challenge problems in this area are brought forward, and some future research directions are pointed out.Key words:parallel programming; models; languages; portability; scalability; localityáReceived April 20, 2000; accepted July 12, 2000Supported by the National High Technology Development 863 Program of China under Grant No.863-306-ZD01-02-3; the Youth。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档