Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Thomas Epperly is active.

Publication


Featured researches published by Thomas Epperly.


ieee international conference on high performance computing data and analytics | 2006

A Component Architecture for High-Performance Scientific Computing

Benjamin A. Allan; Robert C. Armstrong; David E. Bernholdt; Felipe Bertrand; Kenneth Chiu; Tamara L. Dahlgren; Kostadin Damevski; Wael R. Elwasif; Thomas Epperly; Madhusudhan Govindaraju; Daniel S. Katz; James Arthur Kohl; Manoj Kumar Krishnan; Gary Kumfert; J. Walter Larson; Sophia Lefantzi; Michael J. Lewis; Allen D. Malony; Lois C. Mclnnes; Jarek Nieplocha; Boyana Norris; Steven G. Parker; Jaideep Ray; Sameer Shende; Theresa L. Windus; Shujia Zhou

The Common Component Architecture (CCA) provides a means for software developers to manage the complexity of large-scale scientific simulations and to move toward a plug-and-play environment for high-performance coputing. In the scientific computing context, component models also promote collaboration using independently developed software, thereby allowing particular individals or groups to focus on the aspects of greatest interest to them. The CCA supports parallel and distributed coputing as well as local high-performance connections between components in a language-independent manner. The design places minimal requirements on components and thus facilitates the integration of existing code into the CCA environment. The CCA model imposes minimal ovehead to minimize the impact on application performance. The focus on high performance distinguishes the CCA from most other component models. The CCA is being applied within an increasing range of disciplines, including cobustion research, global climate simulation, and computtional chemistry.


international conference on engineering of complex computer systems | 2007

Communicating Software Architecture using a Unified Single-View Visualization

Thomas Panas; Thomas Epperly; Daniel J. Quinlan; Andreas Sæbjørnsen; Richard W. Vuduc

Software is among the most complex human artifacts, and visualization is widely acknowledged as important to understanding software. In this paper, we consider the problem of understanding a software systems architecture through visualization. Whereas traditional visualizations use multiple stakeholder-specific views to present different kinds of task- specific information, we propose an additional visualization technique that unifies the presentation of various kinds of architecture-level information, thereby allowing a variety of stakeholders to quickly see and communicate current development, quality, and costs of a software system. For future empirical evaluation of multi-aspect, single-view architectural visualizations, we have implemented our idea in an existing visualization tool, Vizz3D. Our implementation includes techniques, such as the use of a city metaphor, that reduce visual complexity in order to support single-view visualizations of large-scale programs.


ieee international conference on high performance computing data and analytics | 2012

High-performance language interoperability for scientific computing through Babel

Thomas Epperly; Gary Kumfert; Tamara L. Dahlgren; Dietmar Ebner; James Leek; Adrian Prantl; Scott R. Kohn

High-performance scientific applications are usually built from software modules written in multiple programming languages. This raises the issue of language interoperability which involves making calls between languages, converting basic types, and bridging disparate programming models. Babel provides a feature-rich, extensible, high-performance solution to the language interoperability problem currently supporting C, C++, FORTRAN 77, Fortran 90/95, Fortran 2003/2008, Python, and Java. Babel supports object-oriented programming features and interface semantics with runtime enforcement. In addition to in-process language interoperability, Babel includes remote method invocation to support hybrid parallel and distributed computing paradigms.


Journal of Physics: Conference Series | 2006

How the common component architecture advances computational science

Gary Kumfert; David E. Bernholdt; Thomas Epperly; James Arthur Kohl; Lois Curfman McInnes; Steven G. Parker; Jaideep Ray

Computational chemists are using Common Component Architecture (CCA) technology to increase the parallel scalability of their application ten-fold. Combustion researchers are publishing science faster because the CCA manages software complexity for them. Both the solver and meshing communities in SciDAC are converging on community interface standards as a direct response to the novel level of interoperability that CCA presents. Yet, there is much more to do before component technology becomes mainstream computational science. This paper highlights the impact that the CCA has made on scientific applications, conveys some lessons learned from five years of the SciDAC program, and previews where applications could go with the additional capabilities that the CCA has planned for SciDAC 2.


Proceedings of the IFIP TC2/WG2.5 Working Conference on the Architecture of Scientific Software | 2000

Component Technology for High-Performance Scientific Simulation Software

Thomas Epperly; Scott R. Kohn; Gary Kumfert

We are developing scientific software component technology to manage the complexity of modern, parallel simulation software and increase the interoperability and re-use of scientific software packages. In this paper, we describe a language interoperability tool named Babel that enables the creation and distribution of language-independent software libraries using interface definition language (IDL) techniques. We have created a scientific IDL that focuses on the unique interface description needs of scientific software, such as complex numbers, dense multidimensional arrays, and parallel distributed objects. Preliminary results indicate that in addition to language interoperability, this approach provides useful tools for the design of modern object-oriented scientific software libraries. We also describe a web-based component repository called Alexandria that facilitates the distribution, documentation, and reuse of scientific components and libraries.


Journal of Physics: Conference Series | 2008

First results from core-edge parallel composition in the FACETS project

John R. Cary; Jeff Candy; R.H. Cohen; S. I. Krasheninnikov; D. McCune; Donald Estep; Jay Walter Larson; Allen D. Malony; A.Y. Pankin; Patrick H. Worley; Johann Carlsson; Ammar Hakim; Paul Hamill; Scott Kruger; Mahmood Miah; S Muzsala; Alexander Pletzer; Svetlana G. Shasharina; David Wade-Stein; Nanbor Wang; Satish Balay; Lois Curfman McInnes; Hong Zhang; T. A. Casper; Lori Freitag Diachin; Thomas Epperly; T.D. Rognlien; Mark R. Fahey; John W Cobb; Allen Morris

FACETS (Framework Application for Core-Edge Transport Simulations), now in its second year, has achieved its first coupled core-edge transport simulations. In the process, a number of accompanying accomplishments were achieved. These include a new parallel core component, a new wall component, improvements in edge and source components, and the framework for coupling all of this together. These accomplishments were a result of an interdisciplinary collaboration among computational physics, computer scientists, and applied mathematicians on the team.


international conference on cluster computing | 2011

Implementing High Performance Remote Method Invocation in CCA

Jian Yin; Khushbu Agarwal; Manoj Kumar Krishnan; Daniel G. Chavarría-Miranda; Ian Gorton; Thomas Epperly

We report our effort in engineering a high performance remote method invocation (RMI) mechanism for the Common Component Architecture (CCA). This mechanism provides a highly efficient and easy-to-use mechanism for distributed computing in CCA, enabling CCA applications to effectively leverage parallel systems to accelerate computations. This work is built on the previous work of Babel RMI. Babel is a high performance language interoperability tool that is used in CCA for scientific application writers to share, reuse, and compose applications from software components written in different programming languages. Babel provides a transparent and flexible RMI framework for distributed computing. However, the existing Babel RMI implementation is built on top of TCP and does not provide the level of performance required to distribute fine-grained tasks. We observed that the main reason the TCP based RMI does not perform well is because it does not utilize the high performance interconnect hardware on a cluster efficiently. We have implemented a high performance RMI protocol, HPCRMI. HPCRMI achieves low latency by building on top of a low-level portable communication library, Aggregated Remote Message Copy Interface (ARMCI), and minimizing communication for each RMI call. Our design allows a RMI operation to be completed by only two RDMA operations. We also aggressively optimize our system to reduce copying. In this paper, we discuss the design and our experimental evaluation of this protocol. Our experimental results show that our protocol can improve RMI performance by an order of magnitude.


international conference on software engineering | 2011

Fourth international workshop on software engineering for computational science and engineering (SE-CSE2011)

Jeffrey C. Carver; Thomas Epperly; Lorin Hochstein; Valerie Maxville; Dietmar Pfahl; Jonathan Sillito

Computational Science and Engineering (CSE) software supports a wide variety of domains including nuclear physics, crash simulation, satellite data processing, fluid dynamics, climate modeling, bioinformatics, and vehicle development. The increase in the importance of CSE software motivates the need to identify and understand appropriate software engineering (SE) practices for CSE. Because of the uniqueness of CSE software development, existing SE tools and techniques developed for the business/IT community are often not efficient or effective. Appropriate SE solutions must account for the salient characteristics of the CSE development environment. This situation creates an opportunity for members of the SE community to interact with members of the CSE community to address this need. This workshop facilitates that collaboration by bringing together members of the SE community and the CSE community to share perspectives and present findings from research and practice relevant to CSE software. A significant portion of the workshop is devoted to focused interaction among the participants with the goal of generating a research agenda to improve tools, techniques, and experimental methods for studying CSE software engineering.


Computational Science & Discovery | 2013

Cross-language Babel structs?making scientific interfaces more efficient

Adrian Prantl; Dietmar Ebner; Thomas Epperly

Babel is an open-source language interoperability framework tailored to the needs of high-performance scientific computing. As an integral element of the Common Component Architecture, it is employed in a wide range of scientific applications where it is used to connect components written in different programming languages. In this paper we describe how we extended Babel to support interoperable tuple data types (structs). Structs are a common idiom in (mono-lingual) scientific application programming interfaces (APIs); they are an efficient way to pass tuples of nonuniform data between functions, and are supported natively by most programming languages. Using our extended version of Babel, developers of scientific codes can now pass structs as arguments between functions implemented in any of the supported languages. In C, C++, Fortran 2003/2008 and Chapel, structs can be passed without the overhead of data marshaling or copying, providing language interoperability at minimal cost. Other supported languages are Fortran 77, Fortran 90/95, Java and Python. We will show how we designed a struct implementation that is interoperable with all of the supported languages and present benchmark data to compare the performance of all language bindings, highlighting the differences between languages that offer native struct support and an object-oriented interface with getter/setter methods. A case study shows how structs can help simplify the interfaces of scientific codes significantly.


power and energy society general meeting | 2012

High-performance computing for electric grid planning and operations

Thomas Epperly; Thomas Edmunds; Alan Lamont; Carol Meyers; Steven G. Smith; Yiming Yao; Glenn Drayton

High-performance computing (HPC) is having a profound impact on scientific discovery and engineering in a variety of areas, and researchers are beginning to demonstrate how HPC can impact problems in energy grid planning and operations. Contemporary supercomputers can perform over 1015 floating point operations per second and have more than 1.4 petabytes of memory - roughly 5 orders of magnitude greater than a commodity PC workstation. This level of computing power changes the very nature of problems that can be solved. Researchers at LLNL have used HPC systems to accelerate execution of a renewables planning study, by solving a thousand unit commitment and dispatch problems in parallel; this generated new insights and allowed for a more detailed study than would have been otherwise achievable. Ongoing work at LLNL includes the development and testing of new parallel algorithms for unit commitment problems, including multi-scenario stochastic unit commitment. These algorithms will enable greater grid and time resolution and provide more accurate solutions because of the increase in model fidelity.

Collaboration


Dive into the Thomas Epperly's collaboration.

Top Co-Authors

Avatar

Gary Kumfert

Lawrence Livermore National Laboratory

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Tamara L. Dahlgren

Lawrence Livermore National Laboratory

View shared research outputs
Top Co-Authors

Avatar

Adrian Prantl

Lawrence Livermore National Laboratory

View shared research outputs
Top Co-Authors

Avatar

Allen D. Malony

Sandia National Laboratories

View shared research outputs
Top Co-Authors

Avatar

Benjamin A. Allan

Sandia National Laboratories

View shared research outputs
Top Co-Authors

Avatar

David E. Bernholdt

Oak Ridge National Laboratory

View shared research outputs
Top Co-Authors

Avatar

James Arthur Kohl

Oak Ridge National Laboratory

View shared research outputs
Top Co-Authors

Avatar

James Leek

Lawrence Livermore National Laboratory

View shared research outputs
Top Co-Authors

Avatar

Robert C. Armstrong

Sandia National Laboratories

View shared research outputs
Researchain Logo
Decentralizing Knowledge