65,091 research outputs found
A distributed version of the NASA Engine Performance Program
Distributed NEPP, a version of the NASA Engine Performance Program, uses the original NEPP code but executes it in a distributed computer environment. Multiple workstations connected by a network increase the program's speed and, more importantly, the complexity of the cases it can handle in a reasonable time. Distributed NEPP uses the public domain software package, called Parallel Virtual Machine, allowing it to execute on clusters of machines containing many different architectures. It includes the capability to link with other computers, allowing them to process NEPP jobs in parallel. This paper discusses the design issues and granularity considerations that entered into programming Distributed NEPP and presents the results of timing runs
Using problem frames with distributed architectures: a case for cardinality on interfaces
Certain classes of problems amenable to description
using Problem Frames, in particular ones intended to be
implemented using a distributed architecture, can benefit
by the addition of a cardinality specification on the
domain interfaces. This paper presents an example of
such a problem, demonstrates the need for relationship
cardinality, and proposes a notation to represent
cardinality on domain interfaces
Quality-aware model-driven service engineering
Service engineering and service-oriented architecture as an integration and platform technology is a recent approach to software systems integration. Quality aspects
ranging from interoperability to maintainability to performance are of central importance for the integration of heterogeneous, distributed service-based systems. Architecture models can substantially influence quality attributes of the implemented software systems. Besides the benefits of explicit architectures on maintainability and reuse, architectural constraints such as styles, reference architectures and architectural patterns can influence observable software properties such as performance. Empirical performance evaluation is a process of measuring and evaluating the performance of implemented software. We present an approach for addressing the quality of services and service-based systems at the model-level in the context of model-driven service engineering. The focus on architecture-level models is a consequence of the black-box
character of services
Reproducibility, accuracy and performance of the Feltor code and library on parallel computer architectures
Feltor is a modular and free scientific software package. It allows
developing platform independent code that runs on a variety of parallel
computer architectures ranging from laptop CPUs to multi-GPU distributed memory
systems. Feltor consists of both a numerical library and a collection of
application codes built on top of the library. Its main target are two- and
three-dimensional drift- and gyro-fluid simulations with discontinuous Galerkin
methods as the main numerical discretization technique. We observe that
numerical simulations of a recently developed gyro-fluid model produce
non-deterministic results in parallel computations. First, we show how we
restore accuracy and bitwise reproducibility algorithmically and
programmatically. In particular, we adopt an implementation of the exactly
rounded dot product based on long accumulators, which avoids accuracy losses
especially in parallel applications. However, reproducibility and accuracy
alone fail to indicate correct simulation behaviour. In fact, in the physical
model slightly different initial conditions lead to vastly different end
states. This behaviour translates to its numerical representation. Pointwise
convergence, even in principle, becomes impossible for long simulation times.
In a second part, we explore important performance tuning considerations. We
identify latency and memory bandwidth as the main performance indicators of our
routines. Based on these, we propose a parallel performance model that predicts
the execution time of algorithms implemented in Feltor and test our model on a
selection of parallel hardware architectures. We are able to predict the
execution time with a relative error of less than 25% for problem sizes between
0.1 and 1000 MB. Finally, we find that the product of latency and bandwidth
gives a minimum array size per compute node to achieve a scaling efficiency
above 50% (both strong and weak)
Design Criteria to Architect Continuous Experimentation for Self-Driving Vehicles
The software powering today's vehicles surpasses mechatronics as the
dominating engineering challenge due to its fast evolving and innovative
nature. In addition, the software and system architecture for upcoming vehicles
with automated driving functionality is already processing ~750MB/s -
corresponding to over 180 simultaneous 4K-video streams from popular
video-on-demand services. Hence, self-driving cars will run so much software to
resemble "small data centers on wheels" rather than just transportation
vehicles. Continuous Integration, Deployment, and Experimentation have been
successfully adopted for software-only products as enabling methodology for
feedback-based software development. For example, a popular search engine
conducts ~250 experiments each day to improve the software based on its users'
behavior. This work investigates design criteria for the software architecture
and the corresponding software development and deployment process for complex
cyber-physical systems, with the goal of enabling Continuous Experimentation as
a way to achieve continuous software evolution. Our research involved reviewing
related literature on the topic to extract relevant design requirements. The
study is concluded by describing the software development and deployment
process and software architecture adopted by our self-driving vehicle
laboratory, both based on the extracted criteria.Comment: Copyright 2017 IEEE. Paper submitted and accepted at the 2017 IEEE
International Conference on Software Architecture. 8 pages, 2 figures.
Published in IEEE Xplore Digital Library, URL:
http://ieeexplore.ieee.org/abstract/document/7930218
A study of the selection of microcomputer architectures to automate planetary spacecraft power systems
Performance and reliability models of alternate microcomputer architectures as a methodology for optimizing system design were examined. A methodology for selecting an optimum microcomputer architecture for autonomous operation of planetary spacecraft power systems was developed. Various microcomputer system architectures are analyzed to determine their application to spacecraft power systems. It is suggested that no standardization formula or common set of guidelines exists which provides an optimum configuration for a given set of specifications
Recommended from our members
Software architectures and Open Source Software: Where can research leverage the most?
Software architectures have been playing a central role in software engineering research for some years now. They are considered of pivotal importance in the success of complex software systems development. However, with the emergence of Open Source Software (OSS) development, a new opportunity for studying architectural issues arises. In this paper, we introduce accepted notions of software architectures (Section 2), discuss some of the known issues in OSS (Section 3), resulting in a set of aspects we consider to be relevant for future research (Section 4)
- âŠ