Extensible Software Engineering Practices for the Helios High-Fidelity Rotary-Wing Simulation Code

Size: px
Start display at page:

Download "Extensible Software Engineering Practices for the Helios High-Fidelity Rotary-Wing Simulation Code"

Transcription

1 49th AIAA Aerospace Sciences Meeting including the New Horizons Forum and Aerospace Exposition 4-7 January 2011, Orlando, Florida AIAA Extensible Software Engineering Practices for the Helios High-Fidelity Rotary-Wing Simulation Code Buvaneswari Jayaraman US Army/AFDD, Moffett Field, CA Sameer Shende Paratools Inc., Eugene, OR Andrew M. Wissink US Army/AFDD, Moffett Field, CA Stephen Adamec CREATE-AV, Patuxent River, MD Venkateswaran Sankaran US Army/AFDD, Moffett Field, CA We describe software engineering practices applied to the Helios code, an integrated computational fluid dynamics and structural dynamics platform for rotorcraft simulations. Helios consists of a collection of legacy and new simulation components, that are integrated together using a Python-based infrastructure. Given its target use as a production platform, rigorous software development practices are used to enable ease of development, builds, testing, and maintenance. Specific elements discussed are the unique aspects related to the development of production quality Python-based scientific simulation software including a multi-platform build environment and the installation of consistent versions of all support software across disparate computer systems. In addition, we also discuss continuous integration and regression testing, automatic reporting of performance/memory usage and scalability analysis. I. Introduction The rapid growth in computational capability in recent years has allowed helicopter researchers and engineers to solve large-scale problems integrating high-fidelity Navier-Stokes-based CFD models for aerodynamics predictions together with structural dynamics models and flight controls. The algorithmic approach for such integrated simulations has been proven using research codes over the past decade (eg., Potsdam et al. 1 ) but incorporating these ideas and techniques into a usable and accurate software design tool is a challenge. Helicopter design engineers will adopt simulation software only when they are confident the accuracy has been rigorously tested, documented, and verified by the core development team and outside users. Moreover, to ensure long-term use of newly developed software, scalable performance is of equal importance and, for multi-disciplinary simulations, it is critical that all components of the software scale efficiently. Finally, the software needs to be easy-to-build, easy-to-use and easy-to-maintain. In this paper, we describe the extensible software engineering practices that are being employed in connection with the development of the Helios code, an innovative multi-disciplinary platform for rotorcraft simulations. The CREATE-AV (Air-Vehicles) and the HPC Institute for Advanced Rotorcraft Modeling and Simulation (HI-ARMS) programs sponsored by the DoD HPC Modernization Office have the goal of developing production quality simulation software for use by the acquisition community to assess the flight characteristics of both fielded vehicles and those in early conceptual design stages. One of the software products being developed within these programs is the rotary-wing simulation code called Helios. 2 4 Rotorcraft computations are inherently multidisciplinary, requiring the solution of moving body aerodynamics coupled Research Scientist, Science and Technology Corp., Aerospace Engineer, AMRDEC, AIAA Member President and Director, Paratools Inc. CREATE-AV Build Master Aerospace Engineer, AMRDEC, AIAA Member 1of14 This material is declared a work of the U.S. Government and American is not subject Institute to copyright of protection Aeronautics in the and United Astronautics States.

2 with structural dynamics for rotorcraft blade deformations, vehicle flight dynamics, and controls. Helios integrates a collection of separate physics packages that model the aerodynamics, structural dynamics, and vehicle flight controls through a light-weight and flexible Python-based infrastructure. Helios also uses an innovative dual-mesh paradigm that utilizes unstructured meshes in the near-body for ease of mesh generation and Cartesian meshes in the off-body for better accuracy and efficiency. Version 1.0 of the software, called Whitney, has the capability to perform isolated rotor simulations in both hover and forward-flight without or with structural dynamics coupling. 2 Following extensive validation by the Helios team, the software underwent product acceptance testing by the CREATE-AV Quality Assurance team. Subsequently, Helios was beta-released to a select group of government and industry users in early Hands-on training sessions were conducted and continuous user support was provided to help the users with their issues. This continuous engagement with the user community helped the development team to learn about the bugs early and provide appropriate fixes via updated releases. The second version of Helios, called Shasta, introduces additional capabilities such as off-body adaptive mesh refinement (AMR) for more accurate resolution of the rotor-tip vortices and the ability to perform combined rotor and fuselage simulations. Shasta is currently undergoing internal validation and testing and is expected to be beta-released in March A more complete description of the version 2.0 capabilities is given by Sankaran et al. 5 Use of rigorous software development standards with extensive verification and validation is considered the best practice to ensure software quality. To date, use of these practices by the scientific community has been limited. Reasons include a small specialized user base, often in conjunction with changing requirements, and challenges particular to the scientific community parallel computing, performance, and numerical accuracy in particular. As computer speed grows and design cycle times quicken, there is increasing reliance on predictive scientific software in the design process. 6, 7 It is important that such scientific software adopt software engineering practices routinely used by successful Information Technology (IT) software 8 to improve the reliability, ease of use and maintainability of these complicated software packages. An overview of the collaboration tools and services available to the development teams under the CREATE program is outlined by Atwood et al. 9 ThefocusofthecurrentpaperisonHelios development practices. Specifically, we describe the modular development of the software, standardization of the build environment, continuous integration testing paradigms and performance analyses. Helios employs a Python-based infrastructure to combine a variety of multi-disciplinary component codes, by managing their sequential execution and the data transfer between them. 3, 4 The Python-based integration facilitates modularity and extensibility, which are important attributes of a modern computational platform. Interfaces are constructed in the component s native Fortran/C/C++ and translated into Python for exchange with other modules. By maintaining a well-defined data layout at the python level, all modules can access and share a common set of data with any datatype translations occurring at the interface level. This readily allows substitution of alternative modules, for instance, to replace an existing model with one that shows better scalability or higher fidelity, or the addition of new modules, such as adding new physics or simulation capabilities. Usability is a further challenge that is key to ensuring end-user acceptance of such complex software packages. Helios includes a Graphical User Interface (GUI) to assist the end-user with the set up of run time inputs. The Helios-GUI is developed based on the wxpython based graphics engine developed by the CREATE-AV Kestrel 10 team with appropriate template and configuration files to meet Helios requirements. At the present time, the GUI is responsible for setting up all run-time inputs on a local server before the case is packaged to a remote cluster for execution. Future enhancements will look to merge these two steps and enable job submission directly from the user interface. Code development is done within a continuous integration context, which comprises of a source code repository and a fully automated build system. While there are many options for each of these systems, Helios uses svn for source code maintenance 11 and the Hudson software 22 for continuous integration using make as the build system. The use of multiple languages increases the complexity of the build and standardization across different platforms and compilers becomes difficult. In order to minimize variability across different computer installations, Helios also employs a common run-time environment that packages all the supporting software (besides the compilers themselves) such as Python, wxpython, numpy, matplotlib, etc. The software package is called ptoolsrte (stands for Paratools Run Time Environment) 12 and is deployed across the major DSRC s and commodity clusters as needed. A suite of regression tests are deployed on any new installation in order to systematically verify the fidelity of the installation against established results. In addition, the continuous integration system is used to exercise a subset of the regression tests on 2of14

3 a regular basis to verify integrity of the code at all times. In a large multi-component platform such as Helios, poor performance or scalability of one of the components can seriously impede overall performance. Performance profiling tools are therefore key to detection and amelioration of such problems. While a variety of such tools are available in the software community, the use of multiple languages makes standardization difficult. For this reason, Helios uses the Python-based TAU performance tools, which uses a mix of build-time and compile-time directives to access memory and CPU utilization and makes them available at the infrastructure level. 13, 14 In addition, TAU can also be used to investigate scalability performance on different cluster installations. 15 Used in concert with the regression tests mentioned earlier, this can help quickly identify potential bottlenecks and suggest ways to improve performance. The outline of the paper is as follows. Section II gives more details of the Helios software, the development model and the graphical user interface. In section III, we discuss the build requirements, distribution, and tools for the multi-language software Helios and present our efforts on Continuous Integration (CI) to perform automatic builds and tests. Section IV presents the approach followed for regression testing at the component and integrated software level and some preliminary results from code coverage analysis. In section V, we present the approach for performance profiling and discuss scalability analyses. Concluding remarks are provided in the final section. II. Helios Development II.A. Helios Components Helios employs an innovative dual-mesh paradigm that utilizes unstructured meshes in the near-body for ease of mesh generation and Cartesian meshes in the off-body for better accuracy and efficiency. 3, 4 Figure 1 shows an example of such a system. The two mesh types overlap each other with data exchange between the two systems being managed by a domain connectivity formulation. The unstructured meshes are bodyconforming and are comprised of a mix of tetrahedra, prisms and pyramids. The Cartesian meshes are managed by a block structured mesh system which has the ability to conform to the geometry and solution features. Distinct solver modules are used for each mesh type: the unstructured near-body solver is the NSU3D code, 16 while the adaptive-cartesian off-body solver is called SAMARC, which is a combination of the SAMRAI meshing infrastructure 17 and the ARC3DC code. 18 The interpolation of fringe data from one mesh Figure 1. Dual mesh CFD approach used by Helios. system to the other is managed by a domain connectivity module called PUNDIT. 19 PUNDIT utilizes implicit hole-cutting and is completely automated and scalable, which are especially important for dynamic mesh problems, wherein the near-body unstructured mesh may move with the body (for instance, in the case of 3of14

4 the rotor meshes), while the background Cartesian mesh is stationary, but may change due to adaptation to geometry and/or solution features. Besides aerodynamics, rotorcraft simulations require coupling with structural dynamics and trim controls. Structural dynamics and trim are provided by the comprehensive analysis code, RCAS, 20 or optionally by CAMRAD. 21 Transfer of fluid dynamic forces from the 3D blade surface to the 1D beam structural models are handled by the Rotor Fluid Structure Interface (RFSI) module. Surface deformations and rotor rotation are used to move and deform the appropriate near-body meshes by a Mesh Motion and Deformation (MMD) module. Finally, necessary coordinate transformations to aid these force and motion transfers are handled by a Fluid and Flight Dynamics Interface (FFDI) module. Additional details of these components are given by Sankaran et al. 5 All the components are interfaced together using a flexible and light-weight Python-based infrastructure called the Software Integration Framework (SIF). Figure 2 shows a schematic of SIF. Well-defined Application Programming Interfaces (API s) are established to define the method calls and data inputs and outputs related to each component. SIF itself is a small set of Python scripts that essentially function as the main program in a conventional monolithic code. It embodies the time-integration loop controller that schedules the appropriate method calls, such as initialize, readmesh, runsubstep, and so on. The data themselves are packaged into Python dictionaries and transferred between components as needed. In order to preserve modularity, all data transfer between components occur through SIF and no component is allowed to talk directly to another component. The parallel execution of SIF is accomplished using pympi. Figure 2. Python-based infrastructure in Helios. Preservation of modularity is a key element of the Helios development process. Each developer is the owner of one or more components, and they are responsible for ensuring that the component adheres to a set of defined software practices. The component developer works with an interface code template and a set of interface data structures, both of which are unique to the component. The interface code template contains all the subroutines that SIF expects from that component. The developer introduces the specific calls to the particular component code from within this template. Further, the developer provides the required data by defining the appropriate data structures. Besides these two elements, there is no other specific dependence of each component code on the other components. Finally, the component developer is also responsible for providing necessary theory and user documentation, unit, validation and regression tests, as well as necessary template files for plugging the component user-inputs into the Helios-GUI. A subversion repository for each Helios module/component is maintained by the developer. 11 Stable versions of the module are released by the developers to be integrated into the main Helios software. A separate svn repository is maintained for the entire Helios package. Specialized scripts are used to check out of the developer module repository into the Helios repository, which automatically records the revision number of each module. In this way, clear traceability of each Helios module to its development repository is maintained. Different versions of the modules and Helios itself are maintained in the svn repositories using tags. In this way, it is possible to roll-back changes to previous released versions for interim updates. 4of14

5 II.B. Helios User Interface The Helios platform includes a Graphical User Interface (GUI) to assist the end-user with the set-up of run time inputs. The Shasta version supports a number of use-cases based upon whether the configuration involves isolated components (such as a fuselage, or rotor), or a full configuration (eg., fuselage and rotor(s)), or other interacting components (eg., aircraft and store). Figure 3 shows a graphical representation of usecase selection process. The procedure works in a hierarchical fashion starting with the identification of the physical component, eg., fuselage or rotor. The next stage involves the selection of the physical problem eg., in the case of the rotor, the user can select hover, forward flight or prescribed maneuver. The final stage involves the selection of the solution procedure, eg., for hover, the choices are rotation frame with purely unstructured mesh, rotational frame with dual unstructured-cartesian mesh or inertial formulation with dual-mesh. Figure 3. Hierarchical selection in Helios: Flow chart of supported use cases for one configuration. The corresponding selection in the Helios-GUI is shown in Fig. 4. The figure shows the opening page of the GUI. The user has to walk through and hierarchically select the appropriate use-case of interest. It should be pointed out that the GUI-engine is based on wxpython and is developed by CREATE-AV s Kestrel product group. 10 No source code modifications are necessary to accommodate the Helios product needs. Customizations for specific use-cases, components and inputs are done entirely by including appropriate configuration and template files. Importantly, the GUI development is testament to a modular and extensible development approach, that is common to the different CREATE-AV products. Based on the user-selection, the appropriate GUI inputs are organized so that the user has to enter only the information required by the participating components used by the desired solution scenario. An example pane from the GUI is shown in Figure 5. In this example, the user input panes that are visible correspond to mesh-processing, SIF, NSU3D, SAMARC and PUNDIT. Input panes for the structural dynamics and trim or other components do not appear since the use-case in question does not involve fluid-structure coupling. The GUI saves all user inputs into an xml file, which can be re-read and adjusted at any time. In addition, the GUI writes out ASCII input files for each code module. Since many of the components used in Helios are legacy codes, they read in inputs through their legacy input decks. Upon save, the GUI organizes the inputs in a format required by Helios. This basically involves creating sub-directories in which each components reads and writes its input/output data. Subsequent to this, the run-time directory is tarred up and transferred to a remote cluster for actual job execution. 5of14

6 Figure 4. Use case selection process through Helios GUI. Figure 5. Helios run time setup GUI panel. 6of14

7 III. Run Time Environment and Build Distribution III.A. Run Time Environment Helios modules are written in a variety of languages. For example the near-body unstructured solver is written in FORTRAN-77 and FORTRAN-90, the off-body solver is written in C++, SIF is written in Python, the GUI is based on wxpython. Moreover, Helios installation relies upon a number of other packages and tools such as HDF5, numpy, swig, matplotlib, and so on. Requiring the user to install all of these packages as a pre-requisite to installing Helios is not only tedious and time consuming, but it also presents difficulties from the point of view of support and maintenance. For example, a cluster that uses a different version of Python or one of the other tools may very well introduce issues that can be difficult to trace and fix. To tackle such issues, Helios uses a customized build and run-time environment called ptoolsrte, developed by ParaTools, Inc. 13 This package bundles all the software that Helios relies on viz., Python, numpy, swig, pympi, wxpython, matplotlib, etc. The package is a hybrid source and binary distribution that provides most of the tools pre-built in a binary form. Those tools that must be compiled on the target platform are provided in source form, and built on the target platform during the configuration process. Thus, the user first downloads, installs, and tests the ptoolsrte package on their system, and then configures Helios to use this environment during the build. This process greatly streamlines the installation since users do not need to individually configure their systems with the requisite tools and the development team is assured the supporting software environment is installed properly at the users site. III.B. Build Distribution CREATE Air Vehicles distributes Helios builds to users as pre-compiled binaries. A single executable file extracts a script which installs the Helios build on a user s system. Redistributable runtime libraries for Intel and Portland compilers are included as part of the installation if the compilers are unavailable. Two types of builds are produced: a fully-functional build with all components bundled, and a GUI-only version. For full Helios builds, a suitable MPI distribution, OpenMPI, is packaged with the Helios binary so it may be used without additional software on an end-user workstation. Because Helios is linked dynamically with OpenMPI libraries, compatible existing versions of OpenMPI on HPC machines can be used in place of the version packaged with Helios. This is especially useful when OpenMPI has already been compiled on a cluster for specialized hardware support and optimized performance. OpenMPI utilizes a modular component architecture (MCA) loaded at runtime, discovering available communication devices compiled as shared libraries. This allows application binary interface (ABI)-compatible versions of OpenMPI to run a single build of Helios. When using other MPI distributions, a more careful analysis of platform Infiniband drivers and optimizations is required in order to provide binaries compatible with the end-user s system. GUI-only packages are also available. These packages contain no parallel code and are built for various Linux operating systems with the intent to later copy completed input files and partitioned grids to another cluster with the full Helios build. The GUI is bundled together with a collection of libraries provided through ptoolsrte. This collection satisfies all dependencies for Helios, including windowing libraries. III.C. Continuous Integration(CI) In software engineering, continuous integration is used to continuously apply the process of quality control by executing small automated tests. This frequent testing process integrates quality control with the development and helps to detect errors early to maintain the integrity of the code at all times. The most popular tools are Continuum, Cruise Control, and Hudson. They are all free open source tools which support a variety of build tools like Java, Maven, and Ant. All of these tools also have shell support which makes them very flexible. Users can use any build system, including make or cmake, the build system most widely used by the scientific community. After a preliminary analysis of these build tools, we decided to use Hudson 22 due to its ease of use, support for distributed builds, and plugin support that allows the use a variety of tools developed by the large and growing user community. Hudson installation requires an execution of a Java command on the downloaded jar file. Glover 23 provides a quick start guide for continuous integration using Hudson. Two basic requirements for a continuous integration system are a source code repository and a fully automated build system. Hudson can be configured to automatically check out the source code from the repository and build as required. Once the code is built a series of tests are automatically triggered to 7of14

8 make sure that the new build behaves as expected. Hudson can be configured to trigger the build as often as required and needs minimal intervention from the user after configuration. Hudson also has the ability to support multiple build machines (slaves) from the main installation (master). The master distributes the jobs to the slave nodes based on the job s configuration. Finally, Hudson can be configured send messages about the success or failure of the builds and tests. See Fig. 6 for a graphical view of Hudson s screen report. Figure 6. Hudson report of the build and regression tests. IV. Regression Tests and Code Coverage IV.A. Regression Tests Regression tests are tests that are utilized to ensure that routine code updates do not inadvertently introduce bugs or otherwise break the existing functionality of the code. Such tests are exercised both at the component-level and at the Helios product level. At the component level, the tests take many forms: unit, verification and validation tests. Unit tests are meant to test functionality at the subroutine level. In Helios, these tests are usually introduced to test leaf (or terminal) subroutines. They typically involve providing a set of known inputs to the subroutine and checking the outputs with expected values. Verification tests are more mathematically based and check certain functionalities versus analytically established behavior. These tests typically involve collections of subroutines and, in some cases, may even be administered at the component level. An example of verification tests in CFD is the assessment of the order of accuracy of residual computations using exact solutions (or equivalently, using the method of manufactured solutions). Systematic verification tests are not used in the legacy components, but are being developed as part of all new component development (see for example Katz and Sankaran 24 ). Finally, validation tests involve testing the whole module or component. They involve standard test cases with well-established experimental measurements or comparator code results. Validation testing is also an important part of product acceptance testing for the Helios product as a whole. Clearly the above tests must be performed as part of the development process, both at the individual component level as well as at the product level. The role of regression tests is to capture salient elements of these tests so that they can be repeated on demand to verify that the code is performing as expected following routine updates to the software package. In order to facilitate such regression testing, the unit, verification and validation tests are fitted with a test harness through standardized scripts. The scripts automatically point to the desired grids and inputs and execute the computation for a certain number of iterations. At the end of the computations, key results are compared with gold file results that are also archived along with the test cases. Figure 7a shows the results from a particular regression test vase in Helios. The python script uses the numpy package to compute the average and maximum reported difference in the residual and force files. The differences in this case are observed to be zero indicating perfect agreement between the expected 8of14

9 and computed results. In addition to numerical differences, the test script also generates a graphical plot that compares the computed and expected results as shown in (Fig 7b). Figure 7. (a).regression test output comparing the computed and expected result, (b).difference in normal load computation between computed and gold result. In Helios, several regression tests are available that test out different functionalities and capabilities of the code. In each case, four levels of regression tests are available based on the time it takes to execute the run. Level I tests run in a few minutes and typically involve running 5 iterations. Level II tests execute in about 30 minutes and run about 100 steps. Level III tests execute in two to four hours and run about 1000 iterations. Level IV are the most complete and involve a complete converged solution that may take several hours of CPU time. Of these, Level I tests are the most suited to be used in the context of a continuous integration process. Numerical differences larger than a specified tolerance can be automatically flagged and reported to the development team via . In addition, all levels of tests are packaged with the Helios build and are available to users to independently test and verify that the build is capable of accurately reproducing known results. IV.B. Code Coverage Code coverage is a measure used in software testing to identify the areas of the source code that are tested (and those that are not) by the regression test suites. This helps the developers to design tests to cover the areas of the code that are not tested. Our initial attempts to assess code coverage have utilized the Intel R code coverage tool, which comes as part of the Intel compiler suite. 25 The tool is easy to use and flexible enough to allow the user to choose certain components or the entire code for coverage analysis. Coverage testing is turned on using a compiler flag. Running the regression test suites with this version of executable automatically generates the code coverage report. Figure 8 shows a top-level summary of overall coverage for the entire code. This particular test case uses the prescribed blade motion file and performs the analysis to predict the airloads on the rotor blades. The near-body, off-body, domain connectivity, mesh motion, and fluid structure interaction modules are used for this case. The summary includes the number of files that are covered by this test case as well as those that are not covered. Clicking on a file name opens up thesourcecodethatishighlightedtoshowwhichportionsofthecodearecoveredbythetest(seefig.9). We note that the current preliminary coverage estimates for Helios is about 50% for files and about 33% for functions. While these numbers are not high, they are still encouraging given the fact that Helios utilizes a number of legacy codes. Detailed investigation of the code coverage report will be done to identify parts of the code that are never used and to develop tests to exercise those parts that are applicable. Future native 9of14

10 Figure 8. Code coverage report using Intel compiler. Figure 9. Source view of sample code. 10 of 14

11 module development and associated regression tests will aim to increase the code coverage percentage as much as possible. V. Performance Profiling In a multi-component code like Helios poor performance or scalability of one of the modules can impede the performance of the integrated software. Observing the performance of a multi-language Python based code such as Helios requires performance instrumentation at multiple layers. The underlying communication substrate is MPI while the CFD packages are written in a combination of Fortran, C++, C, and Python languages. The pympi package from ptoolsrte is used to launch the application. To understand the performance characteristics of the various modules in Helios, and the performance of their integrated execution, we use the TAU performance system. 13 TAU provides users with robust instrumentation at multiple levels, measurement, and analysis capabilities for observing and evaluating performance of HPC applications. 12 It can instrument application source code automatically at the level of routines and outer loops. It captures both time and hardware counter data, generates trace files in several trace formats, presents the profile information in interactive displays, and stores experiment results in a performance database. A recent improvement to TAU also allows us to accurately measure the extent and volume of I/O and memory allocation, de-allocation, and memory leaks on an un-instrumented program using run-time interposition of POSIX I/O libraries using a tool called tau exec. 14 TAU is freely available for download from the TAU website ( under a BSD style license. Figure 10 shows the performance traces for a CFD application run on ARL s mjm system generated using TAU s paraprof tools. This run computes the hover conditions about a quarter-scale V-22 rotor (experimental model referred to as TRAM) on 16 processors, using NSU3D for the near-body solver and SAMARC for the offbody. A lot of useful information can be derived from this simple Python-level instrumentation. It is clear from the profiles what percentage of time is spent in each CFD module, and also the degree of imbalance in the computation. Considering this level of instrumentation requires no change to the application s executable, this is a very effective way to report the performance of a Helios application with essentially no intervention to the codes themselves. Figure 10. Trace analysis performed using TAU s paraprof tools from Python-level instrumentation of Helios modules. The performance profiling tools described above can isolate where computational time is spent and the relative efficiency of dominant routines. Developers are additionally interested in scaling qualities of their algorithms and software. The TAU package includes an option to load performance data from individual cases into a database and explore the the performance of particular routines across cases using perfexplorer. For example, a particular case may be run across a range of processors and the performance data for each 11 of 14

12 processor set loaded into the database. The perfexplorer tool can then be used to analyze the scaling trends of particular components, or routines within the component. This analysis helped us identify a source of scaling inefficiency in Helios components that was traced back to poor performance of the MPI Allreduce routine. 15 Such information is critical to isolate particular routines that create potential scaling inefficiencies. Figure 11 shows Helios strong-scaling for the TRAM calculation previously described. In a strongly scaled case the problem size remains fixed while the number of processors is increased. Results are shown for two systems, the mjm Linux cluster based at Army Research Lab the hawk SGI-altix machine based at Air Force Research Lab, with the problem scaled from 8 to 128 processors. The scaling qualities are commensurate with other CFD codes for problems of this size, indicating the use of mixed codes with Python does not detrimentally impact scaling. Figure 11. Strong scaling of Helios for TRAM hover calculation; (a) mjm linux cluster, (b) hawk SGI altix system. VI. Concluding Remarks This paper presents the software engineering practices being followed in the development of Helios, a high-fidelity rotorcraft analysis code. Unlike research codes, Helios is intended to be production-level software that can be used for the next one to two decades and, as such, requires assurances on software quality, accuracy and performance. The paper details the modular and extensible development approach utilizing a light-weight and flexible Python-based infrastructure to combine several candidate component modules. The modules have well-defined API s consisting of method calls and data specifications and the modules can be easily adapted or exchanged within this architecture. In addition to the main solver components, Helios also has a GUI which is based on the gui-engine developed by the Kestrel product team. The gui-engine is customized for Helios use through the use of configuration files and templates and requires no alteration of the source code. Helios builds within a customized run-time environment that is deployed via the ptoolsrte package. This package contains partially pre-built source packages for all support software and tools that are required for Helios installation. Inthisway,weensurethatHelios is always installed within a controlled environment, thereby simplifying installation and support of the software. An important aspect of rigorous software quality controls is regression testing at both the component and product levels. Component regression test suites are based upon unit, verification and validation tests. Helios product regression tests are based upon validation tests. A wide range of regression tests are deployed with the Helios installation. Further a small subset of these tests are also exercised regularly as part of a continuous integration process using Hudson so that fidelity of the software can be continually monitored. Finally, the paper also discusses Python-based performance profiling tools using the TAU package. These tools allow memory and CPU profiling of Helios components, which can be used by developers to determine performance bottle-necks and thereby work to ameliorate them. The tools can also be used to monitor 12 of 14

13 scalability of the software, which is an important attribute of the software on HPC clusters. In summary, we note that the present version of Helios uses a number of legacy components. Future development will involve replacing these legacy elements with native newly developed software modules. The incorporation of extensible software engineering practices such as those outlined in this paper is a necessary step in this software renewal process. Acknowledgments Material presented in this paper is a product of the CREATE-AV Element of the Computational Research and Engineering for Acquisition Tools and Environments (CREATE) Program sponsored by the U.S. Department of Defense HPC Modernization Program Office. This work was conducted at the High Performance Computing Institute for Advanced Rotorcraft Modeling and Simulation (HIARMS). The authors gratefully acknowledge the contributions by Dr. Jay Sitaraman, Mr. Mark Potsdam, Dr. Anubhav Datta, and Dr. Roger Strawn of the Helios team. We are also grateful to Mr. Todd Tuckey of CREATE-AV Kestrel team for the development of the GUI engine. The authors would also like to acknowledge Dr. Chris Atwood for his support and guidance with the use of the software engineering practices discussed in this paper. References 1 Potsdam, M., Yeo, H., and Johnson, W., Rotor airload preidiction using loose aerodynamic/structural coupling, American Helicopter Society 60th Annual Forum, Baltimore, MD, June Sankaran, V., Sitaraman, J., Wissink, A., Datta, A., Jayaraman, B., Potsdam, M., Mavriplis, D., Yang, Z., O Brien, D., Saberi, H., Cheng, R., Hariharan, N., and Strawn, R., Application of the Helios computational platform to rotorcraft flowfileds, 48th AIAA Aerospace Sciences Meeting Including the New Horizons forum and Aerospace Exposition, 4-7 January 2010, Orlando, Florida. 3 Wissink, A. M., J. Sitaraman, V. Sankaran, D. J. Mavriplis, and T. H. Pulliam, A Multi-Code Python-Based Infrastucture for Overset CFD with Adaptive Cartesian Grids, AIAA , 46th AIAA Aerosciences Conference, Reno NV, Jan Sitaraman, J., A. Katz, B. Jayaraman, A. Wissink, V. Sankaran, Evaluation of a Multi-Solver Paradigm for CFD using Unstructured and Structured Adaptive Cartesian Grids, AIAA , 46th AIAA Aerosciences Conference, Reno NV, Jan Sankaran, V., Wissink, A., Datta, A., Sitaraman, J., Jayaraman, B., Potsdam, M., Kamkar, S., Katz, A., Mavriplis, D., Saberi, H., Roget, B., and Strawn, R., Overview of the Helios V2.0 Computational Platform for Rotorcraft Simulations, AIAA Paper, 49th Aerospace Sciences Meeting, Orlando, FL, January, Dubey, A., Antypas, K., Ganapathy, M. K., Ried, L. B., Riley, K., Sheeler, D., Siegel, A., and Weide, K., Extensible component-based architecture for FLASH, a massively parallel, multiphysics simulation code, Parallel Computing, V35, 10-11, pp: , Open CFD Limited., Open FOAM the open source CFD toolbox user guide,, Version 1.6, July Reis, C. R., and de Mattos Fortes, R. P., An overview of the software engineering process and tools in the Mozilla project, In Proceedings of the Open Source Software Development Workshop, pp: , Atwood, C. A., Adamec, S. A., Murphy, M. D., Post, D. E., and Blair, L., Collaborative software development of scalable DoD computational engieering, DoD HPCMP User Group Conference, June 2010, Schaumburg, IL. 10 Morton, S., Rigid maneuvering and aeroelastic results for Kestrel: A CREATE simulation tool, AIAA Paper , 48th Aerospace Sciences Meeting, Jan 2010, Orlando, Florida Shende, S., An infrastructure for deploying multi-language CFD application, Final report, PET CD-KY8-SP1, Shende, S., and Malony, A., The TAU parallel performance system, Int. J. of High Performace Computing Applications, SAGE Publications, 20(2): , Shende, S., and Malony, A., Simplifying memory, I/O, and communication performance assessment using TAU, Proc. of HPCMP UGC Wissink, A. M., and S. Shende, Performance Evaluation of the Multi-Language Helios Rotorcraft Simulation Software, Proceedings of the DoD HPC Users Group Conference, Seattle WA, June Mavriplis, D. J., and V. Venkatakrishnan, A Unified Multigrid Solver for the Navier-Stokes Equations on Mixed Element Meshes, International Journal for Computational Fluid Dynamics, Vol. 8, 1997, pp Hornung, R. D., A. M. Wissink, and S. R. Kohn, Managing Complex Data and Geometry in Parallel Structured AMR Applications, Engineering with Computers, Vol. 22, No. 3-4, Dec. 2006, pp Also see 18 Wissink. A., Kamkar, S., Pulliam, T., Sitaraman, J., and Sankaran, V., Cartesian-Adaptive Mesh Refinement for Rotorcraft Wake Resolution, AIAA Paper , 28th AIAA Applied Aerodynamics Conference, Chicago, IL, June Sitaraman, J., M. Floros, A. M. Wissink, and M. Potsdam, Parallel Unsteady Overset Mesh Methodology for a Multi- Solver Paradigm with Adaptive Cartesian Grids, AIAA , 26th AIAA Applied Aerodynamics Conference, Honolulu HI, Jan of 14

14 20 Saberi, H., Khoshlahjeh, M., Ormiston, R., and Rutkowski, M. J., Overview of RCAS and application to advanced rotorcraft problems, Conference on Aeromechanics, San Francisco, CA, January 21-23, Johnson, W. Rotorcraft aerodynamic models for a comprehensive analysis, American Helicopter Society 54th Annual Forum, Washington, D.C., May Glover, A. Spot defects early with continuous integration, 24 Katz, A. and Sankaran, V., Mesh Quality E?ects on the Accuracy of CFD Solutions on Unstructured Meshes, AIAA Paper, 49th Aerospace Sciences Meeting, Olrando, FL,January, Intel code coverage tool, In-Depth, Intel Inc. 14 of 14

Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment

Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment Wyatt Spear, Allen Malony, Alan Morris, Sameer Shende {wspear, malony, amorris, sameer}@cs.uoregon.edu

More information

HPC Wales Skills Academy Course Catalogue 2015

HPC Wales Skills Academy Course Catalogue 2015 HPC Wales Skills Academy Course Catalogue 2015 Overview The HPC Wales Skills Academy provides a variety of courses and workshops aimed at building skills in High Performance Computing (HPC). Our courses

More information

Software Design Strategies for Multidisciplinary Computational Fluid Dynamics

Software Design Strategies for Multidisciplinary Computational Fluid Dynamics Seventh International Conference on Computational Fluid Dynamics (ICCFD7), Big Island, Hawaii, July 9-13, 2012 ICCFD7-1601 Software Design Strategies for Multidisciplinary Computational Fluid Dynamics

More information

A New Solution Adaption Capability for the OVERFLOW CFD Code

A New Solution Adaption Capability for the OVERFLOW CFD Code A New Solution Adaption Capability for the OVERFLOW CFD Code Pieter G. Buning NASA Langley Research Center, Hampton, VA 10 th Symposium on Overset Composite Grid and Solution Technology September 20-23,

More information

Structured grid flow solvers such as NASA s OVERFLOW compressible Navier-Stokes flow solver 1, 2

Structured grid flow solvers such as NASA s OVERFLOW compressible Navier-Stokes flow solver 1, 2 19th AIAA Computational Fluid Dynamics 22-25 June 2009, San Antonio, Texas AIAA 2009-3998 OVERSMART A Solution Monitoring And Reporting Tool for the OVERFLOW Flow Solver David L Kao and William M Chan

More information

How To Retire A Legacy System From Healthcare With A Flatirons Eas Application Retirement Solution

How To Retire A Legacy System From Healthcare With A Flatirons Eas Application Retirement Solution EAS Application Retirement Case Study: Health Insurance Introduction A major health insurance organization contracted with Flatirons Solutions to assist them in retiring a number of aged applications that

More information

Cluster Scalability of ANSYS FLUENT 12 for a Large Aerodynamics Case on the Darwin Supercomputer

Cluster Scalability of ANSYS FLUENT 12 for a Large Aerodynamics Case on the Darwin Supercomputer Cluster Scalability of ANSYS FLUENT 12 for a Large Aerodynamics Case on the Darwin Supercomputer Stan Posey, MSc and Bill Loewe, PhD Panasas Inc., Fremont, CA, USA Paul Calleja, PhD University of Cambridge,

More information

Efficient Automated Build and Deployment Framework with Parallel Process

Efficient Automated Build and Deployment Framework with Parallel Process Efficient Automated Build and Deployment Framework with Parallel Process Prachee Kamboj 1, Lincy Mathews 2 Information Science and engineering Department, M. S. Ramaiah Institute of Technology, Bangalore,

More information

IDL. Get the answers you need from your data. IDL

IDL. Get the answers you need from your data. IDL Get the answers you need from your data. IDL is the preferred computing environment for understanding complex data through interactive visualization and analysis. IDL Powerful visualization. Interactive

More information

Very special thanks to Wolfgang Gentzsch and Burak Yenier for making the UberCloud HPC Experiment possible.

Very special thanks to Wolfgang Gentzsch and Burak Yenier for making the UberCloud HPC Experiment possible. Digital manufacturing technology and convenient access to High Performance Computing (HPC) in industry R&D are essential to increase the quality of our products and the competitiveness of our companies.

More information

Simulation of Fluid-Structure Interactions in Aeronautical Applications

Simulation of Fluid-Structure Interactions in Aeronautical Applications Simulation of Fluid-Structure Interactions in Aeronautical Applications Martin Kuntz Jorge Carregal Ferreira ANSYS Germany D-83624 Otterfing Martin.Kuntz@ansys.com December 2003 3 rd FENET Annual Industry

More information

Part I Courses Syllabus

Part I Courses Syllabus Part I Courses Syllabus This document provides detailed information about the basic courses of the MHPC first part activities. The list of courses is the following 1.1 Scientific Programming Environment

More information

The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud.

The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud. White Paper 021313-3 Page 1 : A Software Framework for Parallel Programming* The Fastest Way to Parallel Programming for Multicore, Clusters, Supercomputers and the Cloud. ABSTRACT Programming for Multicore,

More information

Introduction. 1.1 Motivation. Chapter 1

Introduction. 1.1 Motivation. Chapter 1 Chapter 1 Introduction The automotive, aerospace and building sectors have traditionally used simulation programs to improve their products or services, focusing their computations in a few major physical

More information

Investigation of UH-60A Rotor Structural Loads From Flight and Wind Tunnel Tests

Investigation of UH-60A Rotor Structural Loads From Flight and Wind Tunnel Tests Investigation of UH-A Rotor Structural Loads From Flight and Wind Tunnel Tests Hyeonsoo Yeo Mark Potsdam US Army Aviation Development Directorate Aviation & Missile Research, Development & Engineering

More information

Load Balancing Strategies for Multi-Block Overset Grid Applications NAS-03-007

Load Balancing Strategies for Multi-Block Overset Grid Applications NAS-03-007 Load Balancing Strategies for Multi-Block Overset Grid Applications NAS-03-007 M. Jahed Djomehri Computer Sciences Corporation, NASA Ames Research Center, Moffett Field, CA 94035 Rupak Biswas NAS Division,

More information

HPC enabling of OpenFOAM R for CFD applications

HPC enabling of OpenFOAM R for CFD applications HPC enabling of OpenFOAM R for CFD applications Towards the exascale: OpenFOAM perspective Ivan Spisso 25-27 March 2015, Casalecchio di Reno, BOLOGNA. SuperComputing Applications and Innovation Department,

More information

A Survey Study on Monitoring Service for Grid

A Survey Study on Monitoring Service for Grid A Survey Study on Monitoring Service for Grid Erkang You erkyou@indiana.edu ABSTRACT Grid is a distributed system that integrates heterogeneous systems into a single transparent computer, aiming to provide

More information

Performance analysis with Periscope

Performance analysis with Periscope Performance analysis with Periscope M. Gerndt, V. Petkov, Y. Oleynik, S. Benedict Technische Universität München September 2010 Outline Motivation Periscope architecture Periscope performance analysis

More information

Rotorcraft Health Management System (RHMS)

Rotorcraft Health Management System (RHMS) AIAC-11 Eleventh Australian International Aerospace Congress Rotorcraft Health Management System (RHMS) Robab Safa-Bakhsh 1, Dmitry Cherkassky 2 1 The Boeing Company, Phantom Works Philadelphia Center

More information

Aeronautical Testing Service, Inc. 18820 59th DR NE Arlington, WA 98223 USA. CFD and Wind Tunnel Testing: Complimentary Methods for Aircraft Design

Aeronautical Testing Service, Inc. 18820 59th DR NE Arlington, WA 98223 USA. CFD and Wind Tunnel Testing: Complimentary Methods for Aircraft Design Aeronautical Testing Service, Inc. 18820 59th DR NE Arlington, WA 98223 USA CFD and Wind Tunnel Testing: Complimentary Methods for Aircraft Design Background Introduction ATS Company Background New and

More information

Software Development Principles Applied to Graphical Model Development

Software Development Principles Applied to Graphical Model Development Software Development Principles Applied to Graphical Model Development Paul A. Barnard * The MathWorks, Natick, MA 01760, USA The four fundamental principles of good software design communicate clearly,

More information

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture Pipeline Orchestration for Test Automation using Extended Buildbot Architecture Sushant G.Gaikwad Department of Computer Science and engineering, Walchand College of Engineering, Sangli, India. M.A.Shah

More information

SOFTWARE TESTING TRAINING COURSES CONTENTS

SOFTWARE TESTING TRAINING COURSES CONTENTS SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software

More information

On-Demand Supercomputing Multiplies the Possibilities

On-Demand Supercomputing Multiplies the Possibilities Microsoft Windows Compute Cluster Server 2003 Partner Solution Brief Image courtesy of Wolfram Research, Inc. On-Demand Supercomputing Multiplies the Possibilities Microsoft Windows Compute Cluster Server

More information

Emulated Digital Control System Validation in Nuclear Power Plant Training Simulators

Emulated Digital Control System Validation in Nuclear Power Plant Training Simulators Digital Control System Validation in Nuclear Power Training s Gregory W. Silvaggio Westinghouse Electric Company LLC silvaggw@westinghouse.com Keywords: Validation, nuclear, digital control systems Abstract

More information

Using the Windows Cluster

Using the Windows Cluster Using the Windows Cluster Christian Terboven terboven@rz.rwth aachen.de Center for Computing and Communication RWTH Aachen University Windows HPC 2008 (II) September 17, RWTH Aachen Agenda o Windows Cluster

More information

Customer Training Material. Lecture 2. Introduction to. Methodology ANSYS FLUENT. ANSYS, Inc. Proprietary 2010 ANSYS, Inc. All rights reserved.

Customer Training Material. Lecture 2. Introduction to. Methodology ANSYS FLUENT. ANSYS, Inc. Proprietary 2010 ANSYS, Inc. All rights reserved. Lecture 2 Introduction to CFD Methodology Introduction to ANSYS FLUENT L2-1 What is CFD? Computational Fluid Dynamics (CFD) is the science of predicting fluid flow, heat and mass transfer, chemical reactions,

More information

Parallel Analysis and Visualization on Cray Compute Node Linux

Parallel Analysis and Visualization on Cray Compute Node Linux Parallel Analysis and Visualization on Cray Compute Node Linux David Pugmire, Oak Ridge National Laboratory and Hank Childs, Lawrence Livermore National Laboratory and Sean Ahern, Oak Ridge National Laboratory

More information

MDSplus Automated Build and Distribution System

MDSplus Automated Build and Distribution System PSFC/JA-13-23 MDSplus Automated Build and Distribution System Fredian T.W., Stillerman J.A.*, Manduchi G.** * Plasma Science and Fusion Center, MIT ** Consorzio RFX, Euratom-ENEA Association, Padova,Italy

More information

Efficiency Considerations of PERL and Python in Distributed Processing

Efficiency Considerations of PERL and Python in Distributed Processing Efficiency Considerations of PERL and Python in Distributed Processing Roger Eggen (presenter) Computer and Information Sciences University of North Florida Jacksonville, FL 32224 ree@unf.edu 904.620.1326

More information

P013 INTRODUCING A NEW GENERATION OF RESERVOIR SIMULATION SOFTWARE

P013 INTRODUCING A NEW GENERATION OF RESERVOIR SIMULATION SOFTWARE 1 P013 INTRODUCING A NEW GENERATION OF RESERVOIR SIMULATION SOFTWARE JEAN-MARC GRATIEN, JEAN-FRANÇOIS MAGRAS, PHILIPPE QUANDALLE, OLIVIER RICOIS 1&4, av. Bois-Préau. 92852 Rueil Malmaison Cedex. France

More information

Automated deployment of virtualization-based research models of distributed computer systems

Automated deployment of virtualization-based research models of distributed computer systems Automated deployment of virtualization-based research models of distributed computer systems Andrey Zenzinov Mechanics and mathematics department, Moscow State University Institute of mechanics, Moscow

More information

ME6130 An introduction to CFD 1-1

ME6130 An introduction to CFD 1-1 ME6130 An introduction to CFD 1-1 What is CFD? Computational fluid dynamics (CFD) is the science of predicting fluid flow, heat and mass transfer, chemical reactions, and related phenomena by solving numerically

More information

PARALLELS CLOUD SERVER

PARALLELS CLOUD SERVER PARALLELS CLOUD SERVER An Introduction to Operating System Virtualization and Parallels Cloud Server 1 Table of Contents Introduction... 3 Hardware Virtualization... 3 Operating System Virtualization...

More information

Advanced discretisation techniques (a collection of first and second order schemes); Innovative algorithms and robust solvers for fast convergence.

Advanced discretisation techniques (a collection of first and second order schemes); Innovative algorithms and robust solvers for fast convergence. New generation CFD Software APUS-CFD APUS-CFD is a fully interactive Arbitrary Polyhedral Unstructured Solver. APUS-CFD is a new generation of CFD software for modelling fluid flow and heat transfer in

More information

Modernized and Maintainable Code. Frank Weil, Ph.D. UniqueSoft, LLC

Modernized and Maintainable Code. Frank Weil, Ph.D. UniqueSoft, LLC Modernized and Maintainable Code Frank Weil, Ph.D. UniqueSoft, LLC UniqueSoft is a provider of next-generation software development tools and services specializing in modernizing legacy software using

More information

Department of Veterans Affairs. Open Source Electronic Health Record (EHR) Services

Department of Veterans Affairs. Open Source Electronic Health Record (EHR) Services Department of Veterans Affairs Open Source Electronic Health Record (EHR) Services Web Application Automated Testing Framework (WAATF) Software Design Document (SDD) Version 1.0 September 2013 Contract:

More information

Parallels Virtual Automation 6.1

Parallels Virtual Automation 6.1 Parallels Virtual Automation 6.1 Installation Guide for Windows April 08, 2014 Copyright 1999-2014 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH. c/o Parallels

More information

Dr. Raju Namburu Computational Sciences Campaign U.S. Army Research Laboratory. The Nation s Premier Laboratory for Land Forces UNCLASSIFIED

Dr. Raju Namburu Computational Sciences Campaign U.S. Army Research Laboratory. The Nation s Premier Laboratory for Land Forces UNCLASSIFIED Dr. Raju Namburu Computational Sciences Campaign U.S. Army Research Laboratory 21 st Century Research Continuum Theory Theory embodied in computation Hypotheses tested through experiment SCIENTIFIC METHODS

More information

RevoScaleR Speed and Scalability

RevoScaleR Speed and Scalability EXECUTIVE WHITE PAPER RevoScaleR Speed and Scalability By Lee Edlefsen Ph.D., Chief Scientist, Revolution Analytics Abstract RevoScaleR, the Big Data predictive analytics library included with Revolution

More information

CastNet: Modelling platform for open source solver technology

CastNet: Modelling platform for open source solver technology CastNet: Modelling platform for open source solver technology. DHCAE Tools GmbH Address: Friedrich-Ebert-Str. 368, 47800 Krefeld, Germany / Company site: Alte Rather Str. 207 / 47802 Krefeld Phone +49

More information

"Charting the Course...... to Your Success!" MOC 50290 A Understanding and Administering Windows HPC Server 2008. Course Summary

Charting the Course...... to Your Success! MOC 50290 A Understanding and Administering Windows HPC Server 2008. Course Summary Description Course Summary This course provides students with the knowledge and skills to manage and deploy Microsoft HPC Server 2008 clusters. Objectives At the end of this course, students will be Plan

More information

October 21 November 5 November 14 December 12. Washington DC Boston Chicago San Jose. ni.com

October 21 November 5 November 14 December 12. Washington DC Boston Chicago San Jose. ni.com October 21 November 5 November 14 December 12 Washington DC Boston Chicago San Jose 1 Evaluating Software Tools and Architectures to Design Test Systems A Sample Modular Software Architecture

More information

Team-Based Collaboration in Model-Based Design

Team-Based Collaboration in Model-Based Design Team-Based Collaboration in Model-Based Design Saurabh Mahapatra 1 and Jason Ghidella 2 MathWorks, Natick, MA, 01760 1 Saurabh Mahapatra, Simulink Platform Marketing, 3 Apple Hill Drive, Natick MA, AIAA

More information

Very special thanks to Wolfgang Gentzsch and Burak Yenier for making the UberCloud HPC Experiment possible.

Very special thanks to Wolfgang Gentzsch and Burak Yenier for making the UberCloud HPC Experiment possible. Digital manufacturing technology and convenient access to High Performance Computing (HPC) in industry R&D are essential to increase the quality of our products and the competitiveness of our companies.

More information

"Build and Test in the Cloud "

Build and Test in the Cloud W5 Class 11/17/2010 10:00:00 AM "Build and Test in the Cloud " Presented by: Darryl Bowler CollabNet Brought to you by: 330 Corporate Way, Suite 300, Orange Park, FL 32073 888 268 8770 904 278 0524 sqeinfo@sqe.com

More information

Aeroelastic Investigation of the Sandia 100m Blade Using Computational Fluid Dynamics

Aeroelastic Investigation of the Sandia 100m Blade Using Computational Fluid Dynamics Aeroelastic Investigation of the Sandia 100m Blade Using Computational Fluid Dynamics David Corson Altair Engineering, Inc. Todd Griffith Sandia National Laboratories Tom Ashwill (Retired) Sandia National

More information

evm Virtualization Platform for Windows

evm Virtualization Platform for Windows B A C K G R O U N D E R evm Virtualization Platform for Windows Host your Embedded OS and Windows on a Single Hardware Platform using Intel Virtualization Technology April, 2008 TenAsys Corporation 1400

More information

Cloud Server. Parallels. An Introduction to Operating System Virtualization and Parallels Cloud Server. White Paper. www.parallels.

Cloud Server. Parallels. An Introduction to Operating System Virtualization and Parallels Cloud Server. White Paper. www.parallels. Parallels Cloud Server White Paper An Introduction to Operating System Virtualization and Parallels Cloud Server www.parallels.com Table of Contents Introduction... 3 Hardware Virtualization... 3 Operating

More information

CFD analysis for road vehicles - case study

CFD analysis for road vehicles - case study CFD analysis for road vehicles - case study Dan BARBUT*,1, Eugen Mihai NEGRUS 1 *Corresponding author *,1 POLITEHNICA University of Bucharest, Faculty of Transport, Splaiul Independentei 313, 060042, Bucharest,

More information

PyFR: Bringing Next Generation Computational Fluid Dynamics to GPU Platforms

PyFR: Bringing Next Generation Computational Fluid Dynamics to GPU Platforms PyFR: Bringing Next Generation Computational Fluid Dynamics to GPU Platforms P. E. Vincent! Department of Aeronautics Imperial College London! 25 th March 2014 Overview Motivation Flux Reconstruction Many-Core

More information

Paper 064-2014. Robert Bonham, Gregory A. Smith, SAS Institute Inc., Cary NC

Paper 064-2014. Robert Bonham, Gregory A. Smith, SAS Institute Inc., Cary NC Paper 064-2014 Log entries, Events, Performance Measures, and SLAs: Understanding and Managing your SAS Deployment by Leveraging the SAS Environment Manager Data Mart ABSTRACT Robert Bonham, Gregory A.

More information

HPC Deployment of OpenFOAM in an Industrial Setting

HPC Deployment of OpenFOAM in an Industrial Setting HPC Deployment of OpenFOAM in an Industrial Setting Hrvoje Jasak h.jasak@wikki.co.uk Wikki Ltd, United Kingdom PRACE Seminar: Industrial Usage of HPC Stockholm, Sweden, 28-29 March 2011 HPC Deployment

More information

TEST AUTOMATION FRAMEWORK

TEST AUTOMATION FRAMEWORK TEST AUTOMATION FRAMEWORK Twister Topics Quick introduction Use cases High Level Description Benefits Next steps Twister How to get Twister is an open source test automation framework. The code, user guide

More information

Profile Data Mining with PerfExplorer. Sameer Shende Performance Research Lab, University of Oregon http://tau.uoregon.edu

Profile Data Mining with PerfExplorer. Sameer Shende Performance Research Lab, University of Oregon http://tau.uoregon.edu Profile Data Mining with PerfExplorer Sameer Shende Performance Research Lab, University of Oregon http://tau.uoregon.edu TAU Analysis TAUdb: Performance Data Mgmt. Framework 3 Using TAUdb Configure TAUdb

More information

CFD Applications using CFD++ Paul Batten & Vedat Akdag

CFD Applications using CFD++ Paul Batten & Vedat Akdag CFD Applications using CFD++ Paul Batten & Vedat Akdag Metacomp Products available under Altair Partner Program CFD++ Introduction Accurate multi dimensional polynomial framework Robust on wide variety

More information

EFFICIENCY CONSIDERATIONS BETWEEN COMMON WEB APPLICATIONS USING THE SOAP PROTOCOL

EFFICIENCY CONSIDERATIONS BETWEEN COMMON WEB APPLICATIONS USING THE SOAP PROTOCOL EFFICIENCY CONSIDERATIONS BETWEEN COMMON WEB APPLICATIONS USING THE SOAP PROTOCOL Roger Eggen, Sanjay Ahuja, Paul Elliott Computer and Information Sciences University of North Florida Jacksonville, FL

More information

Software Development around a Millisecond

Software Development around a Millisecond Introduction Software Development around a Millisecond Geoffrey Fox In this column we consider software development methodologies with some emphasis on those relevant for large scale scientific computing.

More information

The Deployment Production Line

The Deployment Production Line The Deployment Production Line Jez Humble, Chris Read, Dan North ThoughtWorks Limited jez.humble@thoughtworks.com, chris.read@thoughtworks.com, dan.north@thoughtworks.com Abstract Testing and deployment

More information

Obelisk: Summoning Minions on a HPC Cluster

Obelisk: Summoning Minions on a HPC Cluster Obelisk: Summoning Minions on a HPC Cluster Abstract In scientific research, having the ability to perform rigorous calculations in a bearable amount of time is an invaluable asset. Fortunately, the growing

More information

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc. WA2088 WebSphere Application Server 8.5 Administration on Windows Student Labs Web Age Solutions Inc. Copyright 2013 Web Age Solutions Inc. 1 Table of Contents Directory Paths Used in Labs...3 Lab Notes...4

More information

Unisys ClearPath Forward Fabric Based Platform to Power the Weather Enterprise

Unisys ClearPath Forward Fabric Based Platform to Power the Weather Enterprise Unisys ClearPath Forward Fabric Based Platform to Power the Weather Enterprise Introducing Unisys All in One software based weather platform designed to reduce server space, streamline operations, consolidate

More information

Simulation Platform Overview

Simulation Platform Overview Simulation Platform Overview Build, compute, and analyze simulations on demand www.rescale.com CASE STUDIES Companies in the aerospace and automotive industries use Rescale to run faster simulations Aerospace

More information

The Mantid Project. The challenges of delivering flexible HPC for novice end users. Nicholas Draper SOS18

The Mantid Project. The challenges of delivering flexible HPC for novice end users. Nicholas Draper SOS18 The Mantid Project The challenges of delivering flexible HPC for novice end users Nicholas Draper SOS18 What Is Mantid A framework that supports high-performance computing and visualisation of scientific

More information

HPCMP CREATE -AV Quality Assurance: Lessons Learned by Validating and Supporting Computation-Based Engineering Software

HPCMP CREATE -AV Quality Assurance: Lessons Learned by Validating and Supporting Computation-Based Engineering Software HPCMP CREATE -AV Quality Assurance: Lessons Learned by Validating and Supporting Computation-Based Engineering Software Benjamin P. Hallissy, Joseph P. Laiosa, Theresa C. Shafer David H. Hine, James R.

More information

Content. Development Tools 2(63)

Content. Development Tools 2(63) Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)

More information

A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM

A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM A REVIEW PAPER ON THE HADOOP DISTRIBUTED FILE SYSTEM Sneha D.Borkar 1, Prof.Chaitali S.Surtakar 2 Student of B.E., Information Technology, J.D.I.E.T, sborkar95@gmail.com Assistant Professor, Information

More information

- An Essential Building Block for Stable and Reliable Compute Clusters

- An Essential Building Block for Stable and Reliable Compute Clusters Ferdinand Geier ParTec Cluster Competence Center GmbH, V. 1.4, March 2005 Cluster Middleware - An Essential Building Block for Stable and Reliable Compute Clusters Contents: Compute Clusters a Real Alternative

More information

Title: Continuous Delivery and Continuous Integration. Conference: 13 th Annual Software Testing Conference 2013

Title: Continuous Delivery and Continuous Integration. Conference: 13 th Annual Software Testing Conference 2013 1 Title: Continuous Delivery and Continuous Integration Conference: 13 th Annual Software Testing Conference 2013 Author: Tanvi Dharmarha Email: tbajajdh@adobe.com Organization Name: Adobe Systems Inc

More information

Analysis Programs DPDAK and DAWN

Analysis Programs DPDAK and DAWN Analysis Programs DPDAK and DAWN An Overview Gero Flucke FS-EC PNI-HDRI Spring Meeting April 13-14, 2015 Outline Introduction Overview of Analysis Programs: DPDAK DAWN Summary Gero Flucke (DESY) Analysis

More information

Best Overall Use of Technology. Jaspersoft

Best Overall Use of Technology. Jaspersoft Best Overall Use of Technology Jaspersoft Kerstin Klein Manager, Engineering Processes/ Infrastructure, Jaspersoft From requirements to release QA centric development From Requirement to Release QA-Centric

More information

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0 NASCIO EA Development Tool-Kit Solution Architecture Version 3.0 October 2004 TABLE OF CONTENTS SOLUTION ARCHITECTURE...1 Introduction...1 Benefits...3 Link to Implementation Planning...4 Definitions...5

More information

TIME-ACCURATE SIMULATION OF THE FLOW AROUND THE COMPLETE BO105 WIND TUNNEL MODEL

TIME-ACCURATE SIMULATION OF THE FLOW AROUND THE COMPLETE BO105 WIND TUNNEL MODEL TIME-ACCURATE SIMULATION OF THE FLOW AROUND THE COMPLETE BO105 WIND TUNNEL MODEL Walid Khier, Thorsten Schwarz, Jochen Raddatz presented by Andreas Schütte DLR, Institute of Aerodynamics and Flow Technology

More information

Integrated Open-Source Geophysical Processing and Visualization

Integrated Open-Source Geophysical Processing and Visualization Integrated Open-Source Geophysical Processing and Visualization Glenn Chubak* University of Saskatchewan, Saskatoon, Saskatchewan, Canada gdc178@mail.usask.ca and Igor Morozov University of Saskatchewan,

More information

CHAPTER 20 TESING WEB APPLICATIONS. Overview

CHAPTER 20 TESING WEB APPLICATIONS. Overview CHAPTER 20 TESING WEB APPLICATIONS Overview The chapter describes the Web testing. Web testing is a collection of activities whose purpose is to uncover errors in WebApp content, function, usability, navigability,

More information

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN: 2349-6495

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN: 2349-6495 International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] Survey on Automation Testing Tools for Mobile Applications Dr.S.Gunasekaran 1, V. Bargavi 2 1 Department

More information

zen Platform technical white paper

zen Platform technical white paper zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant

More information

Pushing the limits. Turbine simulation for next-generation turbochargers

Pushing the limits. Turbine simulation for next-generation turbochargers Pushing the limits Turbine simulation for next-generation turbochargers KWOK-KAI SO, BENT PHILLIPSEN, MAGNUS FISCHER Computational fluid dynamics (CFD) has matured and is now an indispensable tool for

More information

Software Engineering Principles The TriBITS Lifecycle Model. Mike Heroux Ross Bartlett (ORNL) Jim Willenbring (SNL)

Software Engineering Principles The TriBITS Lifecycle Model. Mike Heroux Ross Bartlett (ORNL) Jim Willenbring (SNL) Software Engineering Principles The TriBITS Lifecycle Model Mike Heroux Ross Bartlett (ORNL) Jim Willenbring (SNL) TriBITS Lifecycle Model 1.0 Document Motivation for the TriBITS Lifecycle Model Overview

More information

Implement a unified approach to service quality management.

Implement a unified approach to service quality management. Service quality management solutions To support your business objectives Implement a unified approach to service quality management. Highlights Deliver high-quality software applications that meet functional

More information

The Real Challenges of Configuration Management

The Real Challenges of Configuration Management The Real Challenges of Configuration Management McCabe & Associates Table of Contents The Real Challenges of CM 3 Introduction 3 Parallel Development 3 Maintaining Multiple Releases 3 Rapid Development

More information

Lab Management, Device Provisioning and Test Automation Software

Lab Management, Device Provisioning and Test Automation Software Lab Management, Device Provisioning and Test Automation Software The TestShell software framework helps telecom service providers, data centers, enterprise IT and equipment manufacturers to optimize lab

More information

Extend the value of your core business systems.

Extend the value of your core business systems. Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems

More information

Survey of the Benchmark Systems and Testing Frameworks For Tachyon-Perf

Survey of the Benchmark Systems and Testing Frameworks For Tachyon-Perf Survey of the Benchmark Systems and Testing Frameworks For Tachyon-Perf Rong Gu,Qianhao Dong 2014/09/05 0. Introduction As we want to have a performance framework for Tachyon, we need to consider two aspects

More information

supercomputing. simplified.

supercomputing. simplified. supercomputing. simplified. INTRODUCING WINDOWS HPC SERVER 2008 R2 SUITE Windows HPC Server 2008 R2, Microsoft s third-generation HPC solution, provides a comprehensive and costeffective solution for harnessing

More information

High Availability of the Polarion Server

High Availability of the Polarion Server Polarion Software CONCEPT High Availability of the Polarion Server Installing Polarion in a high availability environment Europe, Middle-East, Africa: Polarion Software GmbH Hedelfinger Straße 60 70327

More information

Cloud-WIEN2k. A Scientific Cloud Computing Platform for Condensed Matter Physics

Cloud-WIEN2k. A Scientific Cloud Computing Platform for Condensed Matter Physics Penn State, August 2013 Cloud-WIEN2k A Scientific Cloud Computing Platform for Condensed Matter Physics K. Jorissen University of Washington, Seattle, U.S.A. Supported by NSF grant OCI-1048052 www.feffproject.org

More information

Software Development Kit

Software Development Kit Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice

More information

VISUALIZATION. Improving the Computer Forensic Analysis Process through

VISUALIZATION. Improving the Computer Forensic Analysis Process through By SHELDON TEERLINK and ROBERT F. ERBACHER Improving the Computer Forensic Analysis Process through VISUALIZATION The ability to display mountains of data in a graphical manner significantly enhances the

More information

Computational Modeling of Wind Turbines in OpenFOAM

Computational Modeling of Wind Turbines in OpenFOAM Computational Modeling of Wind Turbines in OpenFOAM Hamid Rahimi hamid.rahimi@uni-oldenburg.de ForWind - Center for Wind Energy Research Institute of Physics, University of Oldenburg, Germany Outline Computational

More information

PUTTING THE SPIN IN CFD

PUTTING THE SPIN IN CFD W H I T E PA P E R PUTTING THE SPIN IN CFD Overview Engineers who design equipment with rotating components need to analyze and understand the behavior of those components if they want to improve performance.

More information

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style Introducing Hudson Click to edit Master subtitle style Winston Prakash What is Hudson? Hudson is an open source continuous integration (CI) server. A CI server can do various tasks

More information

FLOW-3D Performance Benchmark and Profiling. September 2012

FLOW-3D Performance Benchmark and Profiling. September 2012 FLOW-3D Performance Benchmark and Profiling September 2012 Note The following research was performed under the HPC Advisory Council activities Participating vendors: FLOW-3D, Dell, Intel, Mellanox Compute

More information

Big Data - Infrastructure Considerations

Big Data - Infrastructure Considerations April 2014, HAPPIEST MINDS TECHNOLOGIES Big Data - Infrastructure Considerations Author Anand Veeramani / Deepak Shivamurthy SHARING. MINDFUL. INTEGRITY. LEARNING. EXCELLENCE. SOCIAL RESPONSIBILITY. Copyright

More information

Express Introductory Training in ANSYS Fluent Lecture 1 Introduction to the CFD Methodology

Express Introductory Training in ANSYS Fluent Lecture 1 Introduction to the CFD Methodology Express Introductory Training in ANSYS Fluent Lecture 1 Introduction to the CFD Methodology Dimitrios Sofialidis Technical Manager, SimTec Ltd. Mechanical Engineer, PhD PRACE Autumn School 2013 - Industry

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

Very special thanks to Wolfgang Gentzsch and Burak Yenier for making the UberCloud HPC Experiment possible.

Very special thanks to Wolfgang Gentzsch and Burak Yenier for making the UberCloud HPC Experiment possible. Digital manufacturing technology and convenient access to High Performance Computing (HPC) in industry R&D are essential to increase the quality of our products and the competitiveness of our companies.

More information

Neptune. A Domain Specific Language for Deploying HPC Software on Cloud Platforms. Chris Bunch Navraj Chohan Chandra Krintz Khawaja Shams

Neptune. A Domain Specific Language for Deploying HPC Software on Cloud Platforms. Chris Bunch Navraj Chohan Chandra Krintz Khawaja Shams Neptune A Domain Specific Language for Deploying HPC Software on Cloud Platforms Chris Bunch Navraj Chohan Chandra Krintz Khawaja Shams ScienceCloud 2011 @ San Jose, CA June 8, 2011 Cloud Computing Three

More information

Computational Fluid Dynamics

Computational Fluid Dynamics Aerodynamics Computational Fluid Dynamics Industrial Use of High Fidelity Numerical Simulation of Flow about Aircraft Presented by Dr. Klaus Becker / Aerodynamic Strategies Contents Aerodynamic Vision

More information