306,722 research outputs found
Recommended from our members
Leveraging legacy codes to distributed problem solving environments: A web service approach
This paper describes techniques used to leverage high performance legacy codes as CORBA components to a distributed problem solving environment. It first briefly introduces the software architecture adopted by the environment. Then it presents a CORBA oriented wrapper generator (COWG) which can be used to automatically wrap high performance legacy codes as CORBA components. Two legacy codes have been wrapped with COWG. One is an MPI-based molecular dynamic simulation (MDS) code, the other is a finite element based computational fluid dynamics (CFD) code for simulating incompressible Navier-Stokes flows. Performance comparisons between runs of the MDS CORBA component and the original MDS legacy code on a cluster of workstations and on a parallel computer are also presented. Wrapped as CORBA components, these legacy codes can be reused in a distributed computing environment. The first case shows that high performance can be maintained with the wrapped MDS component. The second case shows that a Web user can submit a task to the wrapped CFD component through a Web page without knowing the exact implementation of the component. In this way, a user’s desktop computing environment can be extended to a high performance computing environment using a cluster of workstations or a parallel computer
Building on the DEPLOY Legacy: Code Generation and Simulation
The RODIN, and DEPLOY projects laid solid foundations for further
theoretical, and practical (methodological and tooling) advances with Event-B.
Our current interest is the co-simulation of cyber-physical systems using
Event-B. Using this approach we aim to simulate various features of the
environment separately, in order to exercise deployable code. This paper has
two contributions, the first is the extension of the code generation work of
DEPLOY, where we add the ability to generate code from Event-B state-machine
diagrams. The second describes how we may use code, generated from
state-machines, to simulate the environment, and simulate concurrently
executing state-machines, in a single task. We show how we can instrument the
code to guide the simulation, by controlling the relative rate that
non-deterministic transitions are traversed in the simulation.Comment: In Proceedings of DS-Event-B 2012: Workshop on the experience of and
advances in developing dependable systems in Event-B, in conjunction with
ICFEM 2012 - Kyoto, Japan, November 13, 201
Building on the DEPLOY legacy: code generation and simulation
The RODIN, and DEPLOY projects have laid solid foundations for further theoretical, and practical (methodological and tooling) advances with Event-B; we investigated code generation for embedded, multi-tasking systems. This work describes activities from a follow-on project, ADVANCE; where our interest is co-simulation of cyber-physical systems. We are working to better understand the issues arising in a development when modelling with Event-B, and animating with ProB, in tandem with a multi-simulation strategy. With multi-simulation we aim to simulate various features of the environment separately, in order to exercise the deployable code. This paper has two contributions, the first is the extension of the code generation work of DEPLOY, where we add the ability to generate code from Event-B state-machine diagrams. The second describes how we may use code, generated from state-machines, to simulate the environment, and simulate concurrently executing state-machines, in a single task. We show how we can instrument the code to guide the simulation, by controlling the relative rate that non-deterministic transitions are traversed in the simulation
High-level grid application environment to use legacy codes as OGSA grid services
One of the biggest obstacles in the wide-spread industrial
take-up of Grid technology is the existence of a large
amount of legacy code that is not accessible as Grid services.
The paper describes a new approach (GEMLCA: Grid Execution Management for Legacy Code Architecture) to deploy legacy codes as Grid services without modifying the original code. Moreover, we show a workflow execution oriented Grid portal technology (P-GRADE portal) by which such legacy code based Grid services can be applied in complex business processes. GEMLCA has been implemented as GT-3 services but can be easily ported into the new WSRF Grid standards
Security mechanisms for legacy code applications in GT3 environment
There are many legacy code applications that cannot be
run in Grid environment without significant modifications.
To avoid re-engineering of legacy code, we developed the
Grid Execution Management for Legacy Code Architecture
(GEMLCA) that enables deployment of legacy code
applications as Grid services. GEMLCA is an OGSI Grid
service layer that supports submitting jobs, getting their
results and status back. Security requirements are essential
to any Grid application to preserve the confidentiality and
integrity of data. To meet these requirements the GT3
security model was implemented in GEMLCA. The paper
introduces GEMLCA and how Grid Security Infrastructure
(GSI) components have been added to GEMLCA in order
to enable secure execution of jobs in Grid. The paper also
presents how a legacy code traffic simulator was transformed into a Grid service using GEMLCA and gives some simulation results
Design and Implementation of a Distributed Middleware for Parallel Execution of Legacy Enterprise Applications
A typical enterprise uses a local area network of computers to perform its
business. During the off-working hours, the computational capacities of these
networked computers are underused or unused. In order to utilize this
computational capacity an application has to be recoded to exploit concurrency
inherent in a computation which is clearly not possible for legacy applications
without any source code. This thesis presents the design an implementation of a
distributed middleware which can automatically execute a legacy application on
multiple networked computers by parallelizing it. This middleware runs multiple
copies of the binary executable code in parallel on different hosts in the
network. It wraps up the binary executable code of the legacy application in
order to capture the kernel level data access system calls and perform them
distributively over multiple computers in a safe and conflict free manner. The
middleware also incorporates a dynamic scheduling technique to execute the
target application in minimum time by scavenging the available CPU cycles of
the hosts in the network. This dynamic scheduling also supports the CPU
availability of the hosts to change over time and properly reschedule the
replicas performing the computation to minimize the execution time. A prototype
implementation of this middleware has been developed as a proof of concept of
the design. This implementation has been evaluated with a few typical case
studies and the test results confirm that the middleware works as expected
Extensible Component Based Architecture for FLASH, A Massively Parallel, Multiphysics Simulation Code
FLASH is a publicly available high performance application code which has
evolved into a modular, extensible software system from a collection of
unconnected legacy codes. FLASH has been successful because its capabilities
have been driven by the needs of scientific applications, without compromising
maintainability, performance, and usability. In its newest incarnation, FLASH3
consists of inter-operable modules that can be combined to generate different
applications. The FLASH architecture allows arbitrarily many alternative
implementations of its components to co-exist and interchange with each other,
resulting in greater flexibility. Further, a simple and elegant mechanism
exists for customization of code functionality without the need to modify the
core implementation of the source. A built-in unit test framework providing
verifiability, combined with a rigorous software maintenance process, allow the
code to operate simultaneously in the dual mode of production and development.
In this paper we describe the FLASH3 architecture, with emphasis on solutions
to the more challenging conflicts arising from solver complexity, portable
performance requirements, and legacy codes. We also include results from user
surveys conducted in 2005 and 2007, which highlight the success of the code.Comment: 33 pages, 7 figures; revised paper submitted to Parallel Computin
- …