16 research outputs found
parMERASA Pattern Catalogue: Timing Predictable Parallel Design Patterns
The aim of this catalogue is to describe parallel design patterns and synchronization idioms suitable for the development of parallel software for embedded systems supporting WCET analysis. It is written in context of the parMERASA FP7 project. It represents the state of knowledge after 24 month of the project, where parallelization concepts have been developed for all industrial applications.
This catalogue is the basis for the Pattern-supported Parallelisation Approach, which is a model-based approach for the transition from sequential code to parallel code.
In the scope of parMERASA, a timing analyzable implementation for some parallel design patterns, which is called Timing-analyzable Algorithmic Skeletons (TAS), is being developed which will ease the implementation of the patterns. Also further timing predictable parallel design patterns and synchronization idioms might be developed or discovered in the remainder of the project, as well as the examples in currently available design patterns will be updated with lessons learned from the parallelization of industrial applications in the parMERASA project. In that case a second edition of this pattern catalogue will be published
Rthreads : a uniform interface for parallel and distributed programming
Several distributed systems and software packages allow the use of workstation clusters as a virtual machine. In general, the interfaces to these environments use different programming paradigms for parallel and distributed computing, e.g. multithreading within a multiprocessor workstation and message passing or remote procedure calls for distributed computing. Porting applications to other distributed systems is a difficult task and many different programming paradigms have to be learned. We introduce a uniform interface for parallel and distributed programming based on POSIX Threads. By providing a global data space we are able to raise the concept of threads to a higher level of concurrency - threads may be spread over several heterogeneous machines and are therefore called remote threads (RThreads). Up to now, we have implemented the RThread interface on top of PVM and DCE
The Trust-Enabling Middleware: Introduction and Application
In this report, we present the Trust-Enabling Middleware (TEM) that is based on the message- and service-oriented organic middleware OCµ. The TEM enhances OCµ by features that enable the middleware as well as applications based on it to use trust data. These features include the possibility to save experiences made with interaction partners and to derive trust data with the help of trust metrics out of these saved experiences. Furthermore, we show an example application based on the Trust-Enabling Middleware that considers uncertainty in power networks, the Trusted Energy Grid, and especially illustrate its use of the Trust Metric Infrastructure provided by the TEM
Person Movement Prediction Using Neural Networks
Ubiquitous systems use context information to adapt appliance behavior to human needs. Even more convenience is reached if the appliance foresees the user's desires and acts proactively. This paper proposes neural prediction techniques to anticipate a person's next movement. We focus on neural predictors (multi-layer perceptron with back-propagation learning) with and without pre-training. The optimal configuration of the neural network is determined by evaluating movement sequences of real persons within an office building. The simulation results, obtained with one of the pre-trained neural predictors, show accuracy in next location prediction reaching up to 92%
Context Prediction Based on Branch Prediction Methods
Ubiquitous systems use context information to adapt appliance behavior to human needs. Even more convenience is reached if the appliance foresees the user’s desires and acts proactively. This paper focuses on context prediction based on previous behavior patterns. The proposed prediction algorithms originate in branch prediction techniques of current high-performance microprocessors which are transformed to handle context prediction. We propose and evaluate the onelevel one-state, two-state, and multiple-state predictors, and the two-level two-state predictors with local and global first-level histories. Evaluation is performed by simulating the predictors with behavior patterns of people walking through a building as workload. The evaluations show that the proposed context predictors perform well but exhibit differences in training and retraining speed and in their ability to learn complex patterns
User manual for the optimization and WCET analysis of software with timing analyzable algorithmic skeletons
We recently presented a parallelization approach based on parallel design patterns and leading to structured parallelism. The approach is applicable for the parallelization of sequential code parts of embedded hard real-time software. To reduce work effort it is necessary to rely on tool support. In this context, we here present software for the model-based and multi-objective optimization of a software model with a high degree of parallelism. In addition, we introduce the timing analyzable algorithmic skeletons (TAS) for the fast implementation of the optimized software model. To support the static WCET analysis with the OTAWA toolset, we developed a compact XML format to describe software with TAS instances. Such a model can then easily be translated into the OTAWA XML format representing parallel flow-facts. All software described in this technical report is available under an open source license
ReGTime - Rent Gigaflops someTimes
ReGTime (Rent Gigaflops someTimes) is a software package that helps to rent unused computing power. Sites offer unused resources on a "computing power market". Customers specify their requirements using World Wide Web. ReGTime creates an offer based on available capacities. If the offer is accepted, ReGTime helps to establish a contract, organizes the access, observes the compliance with the contract, and collects data for invoicing. This way e.g. smaller companies may purchase additional computing power without investing in hardware
Applications and architectures in organic computing
This technical report documents a summary of the SPP-OC Workshop ”Architectures and Applications” at the University of Augsburg. Architectures and applications of organic computing systems are two of the profile topics of the priority program ”Organic Computing” of the German Research Foundation (DFG SPP 1183). The report contains the discussion results to the several questions discussed on the mentioned workshop.Dieser technische Bericht dokumentiert die Ergebnisse des SPP-OC Workshop "Architekturen und Anwendungen" an der Universität Augsburg. Architekturen und Anwendungen sind zwei Querschnittsthemen des Schwerpunktsprogramms der Universität Augsburg. Dieser Report dokumentiert die Ergebnisse dieses Workshops
TEMAS - a Trust-Enabling Multi-Agent System for open environments
The TEMAS - the Trust-Enabling Multi-Agent System - is a multi-agent system for open environments. It is based on the Trust-Enabling Middleware, which itself is based on the adaptive, organic middleware OCµ that features self-x properties such as self-healing and self-optimization. Further, the TEMAS incorporates an infrastructure that provides a variety of multiagent system concepts. Apart from facilities for communication in local and distributed environments and a yellow pages service, it allows itself and the agents to use application-specific metrics to derive trust values for different facets from prior experiences with the Trust Metric Infrastructure provided by the Trust-Enabling Middleware. In the TEMAS, agents can be run on nodes, a form of container similar to those used in peer-to-peer networks. Nodes often represent physical devices and can host several agents or reactive services. With respect to the Trust-Enabling Middleware, the TEMAS serves as a facade because it hides the complexity of the underlying infrastructure consisting of nodes and services and dependent interfaces to higher level applications. This results, e.g., in simpler, more common, and natural interfaces for messaging and the application of trust in multi-agent systems