Ian Foster. Argonne, IL Fortran M is a small set of extensions to Fortran 77 that supports a
|
|
- Thomas Mason
- 5 years ago
- Views:
Transcription
1 FORTRAN M AS A LANGUAGE FOR BUILDING EARTH SYSTEM MODELS Ian Foster Mathematics and omputer Science Division Argonne National Laboratory Argonne, IL Introduction Fortran M is a small set of extensions to Fortran 77 that supports a modular or object-oriented approach to the development of parallel programs (Foster and handy, 1992). In this paper, I discuss the use of Fortran M as a tool for building earth system models on massively parallel computers. I hypothesize that the use of Fortran M has software engineering advantages and outline experiments that we are conducting to investigate this hypothesis. 2. Earth System Models An earth system model is a computer code designed to simulate the interrelated processes that determine the earth's weather and climate, such as atmospheric circulation, atmospheric physics, atmospheric chemistry, oceanic circulation, and biosphere. A scientist might use a diagram similar to Figure 1 to explain an earth system model. In this gure, boxes represent processes and arrows represent linkages between processes. This description is easy to follow. It hides unnecessary detail and makes the interfaces between components clear. These desirable characteristics, which have obvious value to the scientist, are also of value to the software engineer. In fact, they constitute the central attributes of modular or object-oriented design. Unfortunately, this natural modularity is normally lost when an earth system model is implemented as a computer program. On massively parallel computers, extensive reengineering can be required to combine component models or to experiment with alternative mappings of computation to processors. The result is that it is dicult both to implement these models and This research was supported by the Atmospheric and limate Research Division of the Oce of Energy Research, U.S. Department of Energy, under ontract W Eng-38.
2 to adapt them to changing requirements. T q? T T T q s T surf q Figure 1: Simplied schematic description of an earth system model. Boxes represent component models and arrows represent data transfers between components. 3. Fortran M Fortran M is a small set of extensions to Fortran 77 that supports a modular or object-oriented approach to the design of message-passing parallel programs. The following features of this language appear useful when developing earth system models. Modularity. Programs are constructed by using explicitly-declared communication channels to plug together program modules called processes. A process can encapsulate common data (called PROESS OMMON to emphasize that it is local to the process), subprocesses, and internal communication. Processes do not share data and can communicate only by sending and receiving data on channels. Access to channels is provided via ports that are passed to processes as arguments. Hence, a Fortran M implementation of an earth system model can preserve the modularity that is inherent in its scientic specication. Each component can be encapsulated as a module (Figure 2) and alternative implementations can be substituted without modications to other program components. Safety. Operations on channels are restricted so as to guarantee deterministic execution, even when programs execute on many processors. hannels are typed, so a compiler can check for correct usage. Hence, the risk of incorrect (and particularly time-dependent) errors is reduced. Architecture Independence. The mapping of processes to processors can be specied with respect to a virtual computer with size and shape dierent
3 SEQUENTIAL OR PARALLEL PROGRAM Figure 2: A process and its interface. In this example, four in-ports and two outports (represented as arrows) dene the interface, while internal implementation details are hidden. These internal details can include subprocesses and internal communications. from that of the target computer. Mapping is specied by annotations that inuence performance but not correctness. Hence, the programmer need not change component programs in order to experiment with alternative congurations of processors and computers. 4. Building Models The Fortran M implementation of a simplied ocean/atmosphere model is presented for illustrative purposes. In this model, two components execute concurrently and exchange information periodically: An ocean model provides an atmosphere model with an array of sea surface temperatures (SST), and an atmosphere model provides an ocean model with two arrays containing components of horizontal momentum, U and V. The two models are assumed to utilize the same grid system, numerical units, and time steps; hence, data can be transferred between them without additional computation. Normally, two additional components would be required to convert data between the representations used by the two models. 4.1 Sequential Models The Fortran M program implements both models as processes, and denes an interface that allows for the exchange of SST, U, and V values. Initially, the two models are assumed to be sequential programs; hence, the interface can consist of one channel in each direction. For example, the atmospheric model interface consists of two ports, sst i and uv o, and is dened as follows. Notice the type declarations for the ports: The in-port sst i can be used to receive arrays of real values representing sea surface temperatures, while the out-port uv o can be used to send two such arrays representing U and V values.
4 process atmosphere(sst_i,uv_o) parameter(nlat=128,nlon=256) inport (real x(nlat,nlon)) sst_i outport (real x(nlat,nlon), real y(nlat,nlon)) uv_o The following code shows the atmosphere model process in its entirety. It uses SEND and REEIVE statements to repeatedly send U and V data on the port uv o, receive SST data from the port sst i, and call the atmosphere model proper. A total of TMAX messages are sent and received. Note the use of process common to hold the sst, u, and v arrays. process atmosphere(sst i,uv o) parameter(nlat=128, NLON=256, TMAX=100) The ports sst i and uv o are the external interface. inport (real x(nlat,nlon)) sst i outport (real x(nlat,nlon), real y(nlat,nlon)) uv o Process common variables. process common /state/ sst, u, v real sst(nlat,nlon), u(nlat,nlon), v(nlat,nlon) call atm init Repeat TMAX times: send U & V, recv SST, update U & V. do 10 i=1,tmax send(uv o) u,v receive(sst i) sst call atm compute 10 continue end The ocean model might be as follows. This repeatedly sends SST data on the out-port sst o and receives U and V data on the in-port uv i. process ocean(uv i,sst o) parameter(nlat=128, NLON=256, TMAX=100) The ports uv i and sst o are the external interface. inport (real x(nlat,nlon), real y(nlat,nlon)) uv i outport (real x(nlat,nlon)) sst o Process common variables. process common /state/ sst, u, v real sst(nlat,nlon), u(nlat,nlon), v(nlat,nlon) call ocn init
5 Repeat TMAX times: send SST, recv U & V, compute SST. do 10 i=1,tmax send(sst o) sst receive(uv i) u,v call ocn compute 10 continue end The implementation of the ocean/atmosphere model is completed by a main program that invokes the two processes in a parallel block (delineated by PROESSES and ENDPROESSES statements) and creates two channels, one for communicating SST values and the other for communicating U and V values. This structure is illustrated in Figure 3 and is created by the following program. The program creates two channels, spawns the atmosphere and ocean processes, and waits until these processes terminate. program model parameter(nlat=128, NLON=256) Local port variables. inport (real x(nlat,nlon)) ssti outport (real x(nlat,nlon)) ssto inport (real x(nlat,nlon), real y(nlat,nlon)) uvi outport (real x(nlat,nlon), real y(nlat,nlon)) uvo reate channels and dene ports. channel(out=ssto,in=ssti) channel(out=uvo,in=uvi) all two models with ports as arguments. processes call atmosphere(ssti,uvo) call ocean(uvi,ssto) endprocesses end The values of the four port variables declared in this code fragment are initially undened. The HANNEL statements each create a channel and dene their two port variable arguments to be references to this channel. These port variables are passed as arguments to the concurrently executing atmosphere and ocean processes, establishing the connections shown in Figure 3. We now have a complete parallel program which can be executed on a sequential or parallel computer. This program can be executed on one processor or two without any change to its component modules: these dierent
6 uvo channel(uvi, uvo) uvi A T M ssti channel(ssti, ssto) ssto O N Figure 3: Ocean/atmosphere model. Two concurrently executing processes are connected by two single-producer, single-consumer channels. behaviors are specied by annotations to the process calls in the main program. The execution order of the concurrently executing atmosphere and ocean processes is determined only by availability of messages on channels. The computed result does not depend on the order in which the processes execute. That is, the program is deterministic. 4.2 Parallel Models The example in the preceding section shows how Fortran M is used to combine sequential models. Similar techniques can be used to combine parallel models. A parallel model implemented in Fortran M creates many processes (typically one per processor); these execute in parallel and exchange data by channels that are local to the parallel model. When dening an interface between two such models, it is not in general sucient to utilize a single channel as this is likely to constitute a bottleneck. Instead, we dene a parallel interface consisting of an array of channels. For example, assume that we have parallel versions of our ocean and atmosphere models, each designed to execute on NPNP processors. We decompose two channels used to connect the sequential programs to obtain two arrays of NPNP channels. While a channel in the sequential program was used to communicate arrays of size NLATNLON, each channel in the parallel program is used to communicate arrays of size (NLAT/NP)(NLON/NP). The code used to combine the two parallel models is as follows. program model parameter(nlat=128,nlon=256,np=16,plon=nlon/np,plat=nlat/np) inport (real x(plat,plon)) SstI(NP,NP) outport (real x(plat,plon)) SstO(NP,NP) inport (real x(plat,plon), real y(plat,plon)) UvI(NP,NP) outport (real x(plat,plon), real y(plat,plon)) UvO(NP,NP)
7 ... reate NPNP channels. do 10 i=1,np do 11 j=1,np channel(out=ssto(i,j),in=ssti(i,j)) channel(out=uvo(i,j),in=uvi(i,j)) 11 continue 10 continue... Pass port arrays to parallel models. processes call par atmosphere(ssti,uvo) call par ocean(ssto,uvi) endprocesses end 5. Discussion As the simple examples presented in this paper show, the use of Fortran M allows earth system models to be developed in a modular fashion. I hypothesize that this modularity can reduce software engineering costs in at least four ways. First, existing programs can be integrated into earth system models without the need for extensive reengineering. Second, alternative implementations of components can be substituted without changes to other parts of a system. Third, reusable modules can be dened that implement such commonly-used functions as interpolation and parallel I/O. Fourth, models can be adapted to run on dierent computers or to use dierent processor congurations, without changes to the component programs. These hypothetical benets must be conrmed by empirical investigations in larger systems. These investigations need to focus on issues of compatibility, performance, and modularity. I discuss these issues briey here and outline how we are addressing them. ompatibility. Development of an earth system model would be easy if all parallel codes that were to be integrated into an earth system model were written in Fortran M. However, in practice we must be able to deal with codes developed with other technologies. In the short term, these will be primarily message-passing libraries such as p4/parmas, PIL, Express, and PVM. In the medium term, High Performance Fortran is also likely to be important. As it will not in general be feasible to rewrite message-
8 passing or HPF programs in Fortran M, we plan to develop compatability libraries that allow message-passing and HPF programs to be integrated into Fortran M programs in a seamless fashion. Performance. A program developed in the modular fashion advocated in this paper may incur overheads that would not be incurred if it were implemented as a monolithic program. Primary sources of overhead are additional copying due to the use of channels for data transfer between processes and process switching when multiple processes execute on the same processor. These costs must be carefully evaluated and weighed against the benets of modular design, ease of modication, ease of reuse, and portability. We plan to conduct experiments to quantify these costs. Modularity. The modular programming style encouraged by Fortran M is expected to allow the development of generic, reusable modules for such commonly used functions as interpolation between grid systems and parallel I/O. However, it is possible that the complexities of dierent grid systems, data representations, etc., will frustrate such attempts. In order to investigate this issue, we are developing prototype parallel versions of generic data transfer modules developed at GFDL by Ron Pacanowski and his colleagues. We have recently completed implementation of a prototype Fortran M compiler (send electronic mail to fortran-m@mcs.anl.gov for details) which we plan to use for these investigations. Acknowledgments Fortran M is joint work with Mani handy of the alifornia Institute of Technology and is supported in part by the National Science Foundation's enter for Research in Parallel omputation, under ontract R Robert Olson has made major contributions to the development of the compiler. I am grateful to Ron Pacanowski of GFDL for discussions on modular construction of climate models. References I. Foster and K. M. handy, 1992: Fortran M: A Language for Modular Parallel Programming, Preprint MS-P , Argonne National Laboratory, Argonne, Ill.
A Software Developing Environment for Earth System Modeling. Depei Qian Beihang University CScADS Workshop, Snowbird, Utah June 27, 2012
A Software Developing Environment for Earth System Modeling Depei Qian Beihang University CScADS Workshop, Snowbird, Utah June 27, 2012 1 Outline Motivation Purpose and Significance Research Contents Technology
More informationThe Compositional C++ Language. Denition. Abstract. This document gives a concise denition of the syntax and semantics
The Compositional C++ Language Denition Peter Carlin Mani Chandy Carl Kesselman March 12, 1993 Revision 0.95 3/12/93, Comments welcome. Abstract This document gives a concise denition of the syntax and
More information[8] J. J. Dongarra and D. C. Sorensen. SCHEDULE: Programs. In D. B. Gannon L. H. Jamieson {24, August 1988.
editor, Proceedings of Fifth SIAM Conference on Parallel Processing, Philadelphia, 1991. SIAM. [3] A. Beguelin, J. J. Dongarra, G. A. Geist, R. Manchek, and V. S. Sunderam. A users' guide to PVM parallel
More informationKhoral Research, Inc. Khoros is a powerful, integrated system which allows users to perform a variety
Data Parallel Programming with the Khoros Data Services Library Steve Kubica, Thomas Robey, Chris Moorman Khoral Research, Inc. 6200 Indian School Rd. NE Suite 200 Albuquerque, NM 87110 USA E-mail: info@khoral.com
More informationCompiler and Runtime Support for Programming in Adaptive. Parallel Environments 1. Guy Edjlali, Gagan Agrawal, and Joel Saltz
Compiler and Runtime Support for Programming in Adaptive Parallel Environments 1 Guy Edjlali, Gagan Agrawal, Alan Sussman, Jim Humphries, and Joel Saltz UMIACS and Dept. of Computer Science University
More informationCUMULVS: Collaborative Infrastructure for Developing. Abstract. by allowing them to dynamically attach to, view, and \steer" a running simulation.
CUMULVS: Collaborative Infrastructure for Developing Distributed Simulations James Arthur Kohl Philip M. Papadopoulos G. A. Geist, II y Abstract The CUMULVS software environment provides remote collaboration
More informationMPI as a Coordination Layer for Communicating HPF Tasks
Syracuse University SURFACE College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects College of Engineering and Computer Science 1996 MPI as a Coordination Layer
More informationFMS: the Flexible Modeling System
FMS: the Flexible Modeling System Coupling Technologies for Earth System Modeling Toulouse FRANCE V. Balaji balaji@princeton.edu Princeton University 15 December 2010 Balaji (Princeton University) Flexible
More informationIn his paper of 1972, Parnas proposed the following problem [42]:
another part of its interface. (In fact, Unix pipe and filter systems do this, the file system playing the role of the repository and initialization switches playing the role of control.) Another example
More informationDesign Issues for the Parallelization of an Optimal Interpolation Algorithm
Syracuse University SURFACE Northeast Parallel Architecture Center College of Engineering and Computer Science 1994 Design Issues for the Parallelization of an Optimal Interpolation Algorithm Gregor von
More informationand easily tailor it for use within the multicast system. [9] J. Purtilo, C. Hofmeister. Dynamic Reconguration of Distributed Programs.
and easily tailor it for use within the multicast system. After expressing an initial application design in terms of MIL specications, the application code and speci- cations may be compiled and executed.
More informationChapter 5 Object-Oriented Programming
Chapter 5 Object-Oriented Programming Develop code that implements tight encapsulation, loose coupling, and high cohesion Develop code that demonstrates the use of polymorphism Develop code that declares
More informationApplication Programmer. Vienna Fortran Out-of-Core Program
Mass Storage Support for a Parallelizing Compilation System b a Peter Brezany a, Thomas A. Mueck b, Erich Schikuta c Institute for Software Technology and Parallel Systems, University of Vienna, Liechtensteinstrasse
More informationBy Eric Fritzinger Sohei Okamoto
By Eric Fritzinger Sohei Okamoto What are Models? Mathematical models used to describe a system E.g. Atmospheric, Oceanic, Ecological, etc Algorithmic calculations which take input and produce estimated
More informationDesign of Parallel Programs Algoritmi e Calcolo Parallelo. Daniele Loiacono
Design of Parallel Programs Algoritmi e Calcolo Parallelo Web: home.dei.polimi.it/loiacono Email: loiacono@elet.polimi.it References q The material in this set of slide is taken from two tutorials by Blaise
More information2 3. Syllabus Time Event 9:00{10:00 morning lecture 10:00{10:30 morning break 10:30{12:30 morning practical session 12:30{1:30 lunch break 1:30{2:00 a
1 Syllabus for the Advanced 3 Day Fortran 90 Course AC Marshall cuniversity of Liverpool, 1997 Abstract The course is scheduled for 3 days. The timetable allows for two sessions a day each with a one hour
More informationMark J. Clement and Michael J. Quinn. Oregon State University. January 17, a programmer to predict what eect modications to
Appeared in \Proceedings Supercomputing '93" Analytical Performance Prediction on Multicomputers Mark J. Clement and Michael J. Quinn Department of Computer Science Oregon State University Corvallis, Oregon
More informationA Component-based Programming Model for Composite, Distributed Applications
NASA/CR-2001-210873 ICASE Report No. 2001-15 A Component-based Programming Model for Composite, Distributed Applications Thomas M. Eidson ICASE, Hampton, Virginia ICASE NASA Langley Research Center Hampton,
More informationLanguage-Based Parallel Program Interaction: The Breezy Approach. Darryl I. Brown Allen D. Malony. Bernd Mohr. University of Oregon
Language-Based Parallel Program Interaction: The Breezy Approach Darryl I. Brown Allen D. Malony Bernd Mohr Department of Computer And Information Science University of Oregon Eugene, Oregon 97403 fdarrylb,
More informationCCSM Performance with the New Coupler, cpl6
CCSM Performance with the New Coupler, cpl6 Tony Craig Brian Kauffman Tom Bettge National Center for Atmospheric Research Jay Larson Rob Jacob Everest Ong Argonne National Laboratory Chris Ding Helen He
More informationHarnessing Grid Resources to Enable the Dynamic Analysis of Large Astronomy Datasets
Page 1 of 5 1 Year 1 Proposal Harnessing Grid Resources to Enable the Dynamic Analysis of Large Astronomy Datasets Year 1 Progress Report & Year 2 Proposal In order to setup the context for this progress
More informationConstruction of Application Generators Using Eli. Uwe Kastens, University of Paderborn, FRG. Abstract
Construction of Application Generators Using Eli Uwe Kastens, University of Paderborn, FRG Abstract Application generators are a powerful means for reuse of software design. They produce special purpose
More informationRunning the NIM Next-Generation Weather Model on GPUs
Running the NIM Next-Generation Weather Model on GPUs M.Govett 1, J.Middlecoff 2 and T.Henderson 2 1 NOAA Earth System Research Laboratory, Boulder, CO, USA 2 Cooperative Institute for Research in the
More informationSoftware Reuse and Component-Based Software Engineering
Software Reuse and Component-Based Software Engineering Minsoo Ryu Hanyang University msryu@hanyang.ac.kr Contents Software Reuse Components CBSE (Component-Based Software Engineering) Domain Engineering
More informationA taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA
A taxonomy of race conditions. D. P. Helmbold, C. E. McDowell UCSC-CRL-94-34 September 28, 1994 Board of Studies in Computer and Information Sciences University of California, Santa Cruz Santa Cruz, CA
More informationLecture 04 FUNCTIONS AND ARRAYS
Lecture 04 FUNCTIONS AND ARRAYS 1 Motivations Divide hug tasks to blocks: divide programs up into sets of cooperating functions. Define new functions with function calls and parameter passing. Use functions
More informationFundamentals of Programming Session 13
Fundamentals of Programming Session 13 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2014 These slides have been created using Deitel s slides Sharif University of Technology Outlines
More informationJukka Julku Multicore programming: Low-level libraries. Outline. Processes and threads TBB MPI UPC. Examples
Multicore Jukka Julku 19.2.2009 1 2 3 4 5 6 Disclaimer There are several low-level, languages and directive based approaches But no silver bullets This presentation only covers some examples of them is
More information15-122: Principles of Imperative Computation, Spring 2016
15-122 Programming 3 Page 1 of 8 15-122: Principles of Imperative Computation, Spring 2016 Programming 3: Images Due: Thursday 4 th February, 2016 by 22:00 This programming assignment will have you using
More informationProgramming II. Modularity 2017/18
Programming II Modularity 2017/18 Module? Lecture Outline Evolution and history of programming languages Modularity Example History of Programming Programming Paradigms How and why languages develop? How
More informationParallel Algorithm Design
Chapter Parallel Algorithm Design Debugging is twice as hard as writing the code in the rst place. Therefore, if you write the code as cleverly as possible, you are, by denition, not smart enough to debug
More informationAOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz
AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development
More informationEUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH PARALLEL IN-MEMORY DATABASE. Dept. Mathematics and Computing Science div. ECP
EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN/ECP 95-29 11 December 1995 ON-LINE EVENT RECONSTRUCTION USING A PARALLEL IN-MEMORY DATABASE E. Argante y;z,p. v.d. Stok y, I. Willers z y Eindhoven University
More informationSteering. Stream. User Interface. Stream. Manager. Interaction Managers. Snapshot. Stream
Agent Roles in Snapshot Assembly Delbert Hart Dept. of Computer Science Washington University in St. Louis St. Louis, MO 63130 hart@cs.wustl.edu Eileen Kraemer Dept. of Computer Science University of Georgia
More informationSoftware Code Performance Review Saple
Software Code Performance Review Saple Table of Contents Executive Summary 2 Scope of Review 2 Recommendations for Short Term Fixes 2 Page/Scripting Issues 2 Missing Response Buffering 2 Not Using Option
More informationSoftware Architecture and Design I
Software Architecture and Design I Instructor: Yongjie Zheng February 23, 2017 CS 490MT/5555 Software Methods and Tools Outline What is software architecture? Why do we need software architecture? How
More informationC Programming for Engineers Functions
C Programming for Engineers Functions ICEN 360 Spring 2017 Prof. Dola Saha 1 Introduction Real world problems are larger, more complex Top down approach Modularize divide and control Easier to track smaller
More informationReimplementation of the Random Forest Algorithm
Parallel Numerics '05, 119-125 M. Vajter²ic, R. Trobec, P. Zinterhof, A. Uhl (Eds.) Chapter 5: Optimization and Classication ISBN 961-6303-67-8 Reimplementation of the Random Forest Algorithm Goran Topi,
More informationDesign of a Software Framework Prototype for Scientific Model Interoperability
2010 Annual Nevada NSF EPSCoR Climate Change Conference 2010 Annual Nevada NSF EPSCoR Climate Change Conference Feb 2nd, 10:30 AM - 10:40 AM Design of a Software Framework Prototype for Scientific Model
More informationa simple structural description of the application
Developing Heterogeneous Applications Using Zoom and HeNCE Richard Wolski, Cosimo Anglano 2, Jennifer Schopf and Francine Berman Department of Computer Science and Engineering, University of California,
More informationEgemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc. Abstract. Direct Volume Rendering (DVR) is a powerful technique for
Comparison of Two Image-Space Subdivision Algorithms for Direct Volume Rendering on Distributed-Memory Multicomputers Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc Dept. of Computer Eng. and
More informationMultimethod Communication for. Ian Fostery Jonathan Geislery Carl Kesselmanz Steve Tueckey. Argonne, IL U.S.A.
Multimethod Communication for High-Performance Metacomputing Applications Ian Fostery Jonathan Geislery Carl Kesselmanz Steve Tueckey ymathematics and Computer Science Division Argonne National Laboratory
More informationHigh Performance Computing
The Need for Parallelism High Performance Computing David McCaughan, HPC Analyst SHARCNET, University of Guelph dbm@sharcnet.ca Scientific investigation traditionally takes two forms theoretical empirical
More informationpc++/streams: a Library for I/O on Complex Distributed Data-Structures
pc++/streams: a Library for I/O on Complex Distributed Data-Structures Jacob Gotwals Suresh Srinivas Dennis Gannon Department of Computer Science, Lindley Hall 215, Indiana University, Bloomington, IN
More informationCity Research Online. Permanent City Research Online URL:
Kloukinas, C., Saridakis, T. & Issarny, V. (1999). Fault Tolerant Access to Dynamically Located Services for CORBA Applications. Paper presented at the Computer Applications in Industry and Engineering
More informationCentre for Parallel Computing, University of Westminster, London, W1M 8JS
Graphical Construction of Parallel Programs G. R. Ribeiro Justo Centre for Parallel Computing, University of Westminster, London, WM 8JS e-mail: justog@wmin.ac.uk, Abstract Parallel programming is not
More informationBackground and Accuracy Analysis of the Xfactor7 Table: Final Report on QuikScat X Factor Accuracy
Brigham Young University Department of Electrical and Computer Engineering 9 Clyde Building Provo, Utah 86 Background and Accuracy Analysis of the Xfactor7 Table: Final Report on QuikScat X Factor Accuracy
More informationOffloading Java to Graphics Processors
Offloading Java to Graphics Processors Peter Calvert (prc33@cam.ac.uk) University of Cambridge, Computer Laboratory Abstract Massively-parallel graphics processors have the potential to offer high performance
More informationDBMS Environment. Application Running in DMS. Source of data. Utilization of data. Standard files. Parallel files. Input. File. Output.
Language, Compiler and Parallel Database Support for I/O Intensive Applications? Peter Brezany a, Thomas A. Mueck b and Erich Schikuta b University of Vienna a Inst. for Softw. Technology and Parallel
More informationIntroduction to Regional Earth System Model (RegESM)
Introduction to Regional Earth System Model (RegESM) Ufuk Turuncoglu Istanbul Technical University Informatics Institute 14/05/2014, 7th ICTP Workshop on the Theory and Use of Regional Climate Models Outline
More informationIN5050: Programming heterogeneous multi-core processors Thinking Parallel
IN5050: Programming heterogeneous multi-core processors Thinking Parallel 28/8-2018 Designing and Building Parallel Programs Ian Foster s framework proposal develop intuition as to what constitutes a good
More informationDRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC
DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, 28-3 April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC 1131-3 Martin hman Stefan Johansson Karl-Erik rzen Department of Automatic
More informationITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University
ITC213: STRUCTURED PROGRAMMING Bhaskar Shrestha National College of Computer Studies Tribhuvan University Lecture 03: Program Development Life Cycle Readings: Not Covered in Textbook Program Development
More informationNatural Semantics [14] within the Centaur system [6], and the Typol formalism [8] which provides us with executable specications. The outcome of such
A Formal Executable Semantics for Java Isabelle Attali, Denis Caromel, Marjorie Russo INRIA Sophia Antipolis, CNRS - I3S - Univ. Nice Sophia Antipolis, BP 93, 06902 Sophia Antipolis Cedex - France tel:
More informationMATLAB*P: Architecture. Ron Choy, Alan Edelman Laboratory for Computer Science MIT
MATLAB*P: Architecture Ron Choy, Alan Edelman Laboratory for Computer Science MIT Outline The p is for parallel MATLAB is what people want Supercomputing in 2003 The impact of the Earth Simulator The impact
More informationECE519 Advanced Operating Systems
IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (10 th Week) (Advanced) Operating Systems 10. Multiprocessor, Multicore and Real-Time Scheduling 10. Outline Multiprocessor
More informationMinsoo Ryu. College of Information and Communications Hanyang University.
Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based
More informationApplication Composition in Ensemble using Intercommunicators and Process Topologies
Application Composition in Ensemble using Intercommunicators and Process Topologies Yiannis Cotronis Dept. of Informatics and Telecommunications, Univ. of Athens, 15784 Athens, Greece cotronis@di.uoa.gr
More informationOur SQL/XML Breakthrough Technology Solution
Advanced Data Access Technologies, Inc. www.adatinc.com (310)395-6889 Our SQL/ML reakthrough Technology Solution We are developing the only ANSI SQL processor that transparently and fully integrates native
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction
More informationPortable Parallel CORBA Objects: an Approach to Combine Parallel and Distributed Programming for Grid Computing
Portable Parallel CORBA Objects: an Approach to Combine Parallel and Distributed Programming for Grid Computing Alexandre Denis, Christian Pérez, Thierry Priol To cite this version: Alexandre Denis, Christian
More informationRegCM-ROMS Tutorial: Coupling RegCM-ROMS
RegCM-ROMS Tutorial: Coupling RegCM-ROMS Ufuk Utku Turuncoglu ICTP (International Center for Theoretical Physics) Earth System Physics Section - Outline Outline Information about coupling and ESMF Installation
More informationSOFTWARE VERIFICATION RESEARCH CENTRE DEPARTMENT OF COMPUTER SCIENCE THE UNIVERSITY OF QUEENSLAND. Queensland 4072 Australia TECHNICAL REPORT
SOFTWARE VERIFICATION RESEARCH CENTRE DEPARTMENT OF COMPUTER SCIENCE THE UNIVERSITY OF QUEENSLAND Queensland 4072 Australia TECHNICAL REPORT No. 94-2 Integration of semantic tools into document editors
More informationSeparation of implementations of computations and synchronizations has direct implications on the extensibility and modiability of programs. Concurren
Support for Implementation of Evolutionary Concurrent Systems in Concurrent Programming Languages Raju Pandey 1 andj.c.browne 2 1 Computer Science Department, University of California, Davis, CA 95616
More informationFree upgrade of computer power with Java, web-base technology and parallel computing
Free upgrade of computer power with Java, web-base technology and parallel computing Alfred Loo\ Y.K. Choi * and Chris Bloor* *Lingnan University, Hong Kong *City University of Hong Kong, Hong Kong ^University
More informationA Framework for Building Parallel ATPs. James Cook University. Automated Theorem Proving (ATP) systems attempt to prove proposed theorems from given
A Framework for Building Parallel ATPs Geo Sutclie and Kalvinder Singh James Cook University 1 Introduction Automated Theorem Proving (ATP) systems attempt to prove proposed theorems from given sets of
More informationOBJECT ORIENTED PROGRAMMING USING C++ CSCI Object Oriented Analysis and Design By Manali Torpe
OBJECT ORIENTED PROGRAMMING USING C++ CSCI 5448- Object Oriented Analysis and Design By Manali Torpe Fundamentals of OOP Class Object Encapsulation Abstraction Inheritance Polymorphism Reusability C++
More informationContemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.
Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful
More informationA simple OASIS interface for CESM E. Maisonnave TR/CMGC/11/63
A simple OASIS interface for CESM E. Maisonnave TR/CMGC/11/63 Index Strategy... 4 Implementation... 6 Advantages... 6 Current limitations... 7 Annex 1: OASIS3 interface implementation on CESM... 9 Annex
More informationSolve the Data Flow Problem
Gaining Condence in Distributed Systems Gleb Naumovich, Lori A. Clarke, and Leon J. Osterweil University of Massachusetts, Amherst Computer Science Department University of Massachusetts Amherst, Massachusetts
More informationStackable Layers: An Object-Oriented Approach to. Distributed File System Architecture. Department of Computer Science
Stackable Layers: An Object-Oriented Approach to Distributed File System Architecture Thomas W. Page Jr., Gerald J. Popek y, Richard G. Guy Department of Computer Science University of California Los Angeles
More informationTo be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 Introduction SDN research directions as outlined in IRTF RG outlines i) need for more flexibility and programmability
More information100 Mbps DEC FDDI Gigaswitch
PVM Communication Performance in a Switched FDDI Heterogeneous Distributed Computing Environment Michael J. Lewis Raymond E. Cline, Jr. Distributed Computing Department Distributed Computing Department
More informationWeb site Image database. Web site Video database. Web server. Meta-server Meta-search Agent. Meta-DB. Video query. Text query. Web client.
(Published in WebNet 97: World Conference of the WWW, Internet and Intranet, Toronto, Canada, Octobor, 1997) WebView: A Multimedia Database Resource Integration and Search System over Web Deepak Murthy
More informationObject-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered
Object-oriented development Object-oriented Design Object-oriented analysis, design and programming are related but distinct. OOA is concerned with developing an object model of the application domain.
More informationChapter 1: Key Concepts of Programming and Software Engineering
Chapter 1: Key Concepts of Programming and Software Engineering Software Engineering Coding without a solution design increases debugging time - known fact! A team of programmers for a large software development
More informationOpen2Test Test Automation Framework Introduction - TestPartner
Introduction - TestPartner Version 1.0 September 2009 DISCLAIMER Verbatim copying and distribution of this entire article is permitted worldwide, without royalty, in any medium, provided this notice is
More informationLABORATORY FOR COMPUTER SCIENCE
LABORATORY FOR COMPUTER SCIENCE MASSACHUSETTS INSTITUTE OF TECHNOLOGY MIT/LCS/TR-637 A PROGRAMMING SYSTEM FOR THE DYNAMIC MANIPULATION OF TEMPORALLY SENSITIVE DATA Christopher J. Lindblad August, 1994
More informationNortheast Parallel Architectures Center. Syracuse University. May 17, Abstract
The Design of VIP-FS: A Virtual, Parallel File System for High Performance Parallel and Distributed Computing NPAC Technical Report SCCS-628 Juan Miguel del Rosario, Michael Harry y and Alok Choudhary
More informationDynamic Process Management in an MPI Setting. William Gropp. Ewing Lusk. Abstract
Dynamic Process Management in an MPI Setting William Gropp Ewing Lusk Mathematics and Computer Science Division Argonne National Laboratory gropp@mcs.anl.gov lusk@mcs.anl.gov Abstract We propose extensions
More informationMartin P. Robillard and Gail C. Murphy. University of British Columbia. November, 1999
Migrating a Static Analysis Tool to AspectJ TM Martin P. Robillard and Gail C. Murphy Department of Computer Science University of British Columbia 201-2366 Main Mall Vancouver BC Canada V6T 1Z4 fmrobilla,murphyg@cs.ubc.ca
More informationKeywords: networks-of-workstations, distributed-shared memory, compiler optimizations, locality
Informatica 17 page xxx{yyy 1 Overlap of Computation and Communication on Shared-Memory Networks-of-Workstations Tarek S. Abdelrahman and Gary Liu Department of Electrical and Computer Engineering The
More informationCHAPTER 5 GENERAL OOP CONCEPTS
CHAPTER 5 GENERAL OOP CONCEPTS EVOLUTION OF SOFTWARE A PROGRAMMING LANGUAGE SHOULD SERVE 2 RELATED PURPOSES : 1. It should provide a vehicle for programmer to specify actions to be executed. 2. It should
More informationDynamic Multi-Path Communication for Video Trac. Hao-hua Chu, Klara Nahrstedt. Department of Computer Science. University of Illinois
Dynamic Multi-Path Communication for Video Trac Hao-hua Chu, Klara Nahrstedt Department of Computer Science University of Illinois h-chu3@cs.uiuc.edu, klara@cs.uiuc.edu Abstract Video-on-Demand applications
More information142
Scope Rules Thus, storage duration does not affect the scope of an identifier. The only identifiers with function-prototype scope are those used in the parameter list of a function prototype. As mentioned
More informationCSc 10200! Introduction to Computing. Lecture 2-3 Edgardo Molina Fall 2013 City College of New York
CSc 10200! Introduction to Computing Lecture 2-3 Edgardo Molina Fall 2013 City College of New York 1 C++ for Engineers and Scientists Third Edition Chapter 2 Problem Solving Using C++ 2 Objectives In this
More informationtask object task queue
Optimizations for Parallel Computing Using Data Access Information Martin C. Rinard Department of Computer Science University of California, Santa Barbara Santa Barbara, California 9316 martin@cs.ucsb.edu
More informationZhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson
Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Introduction History, Characteristics of Java language Java Language Basics Data types, Variables, Operators and Expressions Anatomy of a Java Program
More informationInstitut fur Informatik, Universitat Klagenfurt. Institut fur Informatik, Universitat Linz. Institut fur Witschaftsinformatik, Universitat Linz
Coupling and Cohesion in Object-Oriented Systems Johann Eder (1) Gerti Kappel (2) Michael Schre (3) (1) Institut fur Informatik, Universitat Klagenfurt Universitatsstr. 65, A-9020 Klagenfurt, Austria,
More informationObject Oriented Design
Object Oriented Design Chapter 6 Example Activity Diagram 1 Outline Chapter 6 Topics 6.6 C++ Standard Library Header Files 6.14 Inline Functions 6.16 Default Arguments 6.17 Unary Scope Resolution Operator
More informationConstruction of a Dynamic Document Using Context-Free Pieces Takayama, Ikoma, Nara , Japan
Construction of a Dynamic Document Using Context-Free Pieces Kenji Hanakawa Department of Electrical Engineering and Computer Science Osaka Prefectural College of Technology 26-12 Saiwaicho, Neyagawashi
More informationOops known as object-oriented programming language system is the main feature of C# which further support the major features of oops including:
Oops known as object-oriented programming language system is the main feature of C# which further support the major features of oops including: Abstraction Encapsulation Inheritance and Polymorphism Object-Oriented
More information2 Notation: A Functional Specification Language
The Construction of Numerical Mathematical Software for the AMT DAP by Program Transformation. James M. Boyle z 1, Maurice Clint, Stephen Fitzpatrick 2, Terence J. Harmer The Queen s University of Belfast
More informationCover Page. Author: Vu, Van Thieu Title: Opportunities for performance optimization of applications through code generation Issue Date:
Cover Page The handle http://hdl.handle.net/1887/18622 holds various files of this Leiden University dissertation. Author: Vu, Van Thieu Title: Opportunities for performance optimization of applications
More informationImplementing Coroutines with call/cc. Producer/Consumer using Coroutines
Implementing Coroutines with call/cc Producer/Consumer using Coroutines Coroutines are a very handy generalization of subroutines. A coroutine may suspend its execution and later resume from the point
More informationWHAT IS SOFTWARE ARCHITECTURE?
WHAT IS SOFTWARE ARCHITECTURE? Chapter Outline What Software Architecture Is and What It Isn t Architectural Structures and Views Architectural Patterns What Makes a Good Architecture? Summary 1 What is
More informationEcient Processor Allocation for 3D Tori. Wenjian Qiao and Lionel M. Ni. Department of Computer Science. Michigan State University
Ecient Processor llocation for D ori Wenjian Qiao and Lionel M. Ni Department of Computer Science Michigan State University East Lansing, MI 4884-107 fqiaow, nig@cps.msu.edu bstract Ecient allocation of
More informationTechnische Universitat Munchen. Institut fur Informatik. D Munchen.
Developing Applications for Multicomputer Systems on Workstation Clusters Georg Stellner, Arndt Bode, Stefan Lamberts and Thomas Ludwig? Technische Universitat Munchen Institut fur Informatik Lehrstuhl
More informationSystem Design for Visualizing Scientific Computations
25 Chapter 2 System Design for Visualizing Scientific Computations In Section 1.1 we defined five broad goals for scientific visualization. Specifically, we seek visualization techniques that 1. Can be
More informationLecture 2 Tao Wang 1
Lecture 2 Tao Wang 1 Objectives In this chapter, you will learn about: Modular programs Programming style Data types Arithmetic operations Variables and declaration statements Common programming errors
More information