Andreas Polze
University of Potsdam
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Andreas Polze.
international symposium on object component service oriented real time distributed computing | 2003
Andreas Rasche; Andreas Polze
Dynamic reconfiguration provides of powerful mechanism to adapt component-based distributed applications to changing environmental conditions. We have designed and implemented a framework for dynamic component reconfiguration on the basis of the Microsoft .NET environment. Within this paper we present an experimental evaluation of our infrastructure for dynamic reconfiguration of component-based applications. Our framework supports the description of application configurations and profiles and allows for selection of a particular configuration and object/component instantiation based on measured environmental conditions. In response to changes in the environment, our framework will dynamically load new configurations, thus implementing dynamic reconfiguration of an application. Configuration code for components and applications has to interact with many functional modules and therefore is often scattered around the whole application. We use aspect-oriented programming techniques to handle configuration aspects separately from functional code. The timing behavior of dynamic reconfiguration depends heavily on properties of the underlying programming environment and the operating system. We have studied to which extend and with which performance impact the Microsoft .NET Platform/sup 1/ supports dynamic reconfiguration. The paper thoroughly discusses our experimental results.
international conference on distributed computing systems | 1997
Andreas Polze; Matthias Werner; Gerhard Fohler
Clusters of networked commercial, off the shelf (COTS) workstations are presently used for computation intensive tasks that were typically assigned to parallel computers in the past. However, it is hardly possible to predict the timing behavior of such systems or to give guarantees about execution times. We show how our SONiC (Shared Objects Net-interconnected Computer) system can control timing and partitioning of a workstation as a step towards a distributed real time system built from COTS components. SONiC provides a class based programming interface for creation of replicated shared objects of arbitrary, user defined sizes. Weak consistency protocols are employed to improve system performance. Our scheduling service ensures the requested interactive behavior of a workstation while simultaneously giving a specified number of CPU cycles to parallel tasks. Using offline scheduling methods we are able to implement real time guaranteed services on COTS workstations.
international symposium on object component service oriented real time distributed computing | 2011
Andreas Polze; Peter Tröger; Felix Salfner
Next generation processor and memory technologies will provide tremendously increasing computing and memory capacities for application scaling. However, this comes at a price: Due to the growing number of transistors and shrinking structural sizes, overall system reliability of future server systems is about to suffer significantly. This makes reactive fault tolerance schemes less appropriate for server applications under reliability and timeliness constraints. We propose an architectural blueprint for managing server system dependability in a pro-active fashion, in order to keep service-level promises for response times and availability even with increasing hardware failure rates. We introduce the concept of anticipatory virtual machine migration that proactively moves computation away from faulty or suspicious machines. The migration decision is based on health indicators at various system levels that are combined into a global probabilistic reliability measure. Based on this measure, live migration techniques can be triggered in order to move computation to healthy machines even before a failure brings the system down.
technology of object oriented languages and systems | 2000
Andreas Polze; Janek Schwarz; Miroslaw Malek
The Common Object Request Broker Architecture (CORBA) is the most successful representative of an object-based distributed computing architecture. Although CORBA simplifies the implementation of complex, distributed systems significantly, the support of techniques for reliable, fault-tolerant software, such as group communication protocols or replication is very limited in the state-of-the-art CORBA or even fault-tolerant CORBA. Any fault tolerance extension for CORBA components needs to trade off data abstraction and encapsulation against implementation specific knowledge about a components internal timing behavior, resource usage and interaction patterns. These non-functional aspects of a component are crucial for the predictable behavior of fault-tolerance mechanisms. However, in contrast to CORBAs interface definition language (IDL), which describes a components functional interface, there is no general means to describe a components non-functional properties. We present a genetic framework, which makes existing CORBA components fault tolerant. In adherence with a given, programmer-specified fault model, our framework uses design-time and configuration-time information for automatic distributed replicated instantiation of components. Furthermore, we propose usage of aspect-oriented programming (AOP) techniques to describe fault-tolerance as a non-functional component property. We describe the automatic generation of replicated CORBA services based on aspect information and demonstrate service configuration through a graphical user-interface.
Proceedings of the 4th workshop on Reflective and adaptive middleware systems | 2005
Andreas Rasche; Wolfgang Schult; Andreas Polze
Shorter product cycles, the requirement for immediate reaction to cyber-attacks and the need for the adaptation to changing environmental conditions demand software reconfigurations to be performed at runtime, in order to reduce downtime. Especially long running applications, which have to provide continuous service should not be restarted for maintenance. They must be updated dynamically.We have developed a reconfiguration strategy allowing to identify valid reconfiguration points even in multithreaded environments, enabling dynamic application updates. The usage of dynamic aspect weaving enables us to transparently create self-adaptive applications without additional compilation steps or programming constraints in the software development process.We demonstrate how our approach can be applied to a real-world retail application of a large logistics company. We will describe the implementation of the reconfiguration aspect and our dynamic aspect weaving tool Rapier LOOM.NET.
international workshop on variable structure systems | 1993
Andreas Polze
The author presents the object space approach to distributed computation. It allows for decoupled communication between program components by providing a shared data space of objects. The object space approach extends the sequential language C++ with coordination and communication primitives, such as those in Linda. It integrates inheritance into the associative addressing scheme and facilitates passing of arbitrary objects between program components. Furthermore, the author introduces the notion of application-specific matching functions. A prototype for object space has been implemented in C++ under UNIX. The author gives a distributed parallel make as an example to demonstrate the ideas and use of the concepts developed.<<ETX>>
Digital Investigation | 2014
Florian Westphal; Stefan Axelsson; Christian Neuhaus; Andreas Polze
With the growth of virtualization and cloud computing, more and more forensic investigations rely on being able to perform live forensics on a virtual machine using virtual machine introspection (VMI). Inspecting a virtual machine through its hypervisor enables investigation without risking contamination of the evidence, crashing the computer, etc. To further access to these techniques for the investigator/researcher we have developed a new VMI monitoring language. This language is based on a review of the most commonly used VMI-techniques to date, and it enables the user to monitor the virtual machines memory, events and data streams. A prototype implementation of our monitoring system was implemented in KVM, though implementation on any hypervisor that uses the common x86 virtualization hardware assistance support should be straightforward. Our prototype outperforms the proprietary VMWare VProbes in many cases, with a maximum performance loss of 18% for a realistic test case, which we consider acceptable. Our implementation is freely available under a liberal software distribution license.
workshop on object-oriented real-time dependable systems | 2003
Peter Tröger; Andreas Polze
Most of todays distributed computing systems in the field do not support the migration of execution entities among computing nodes during runtime. The relatively static association between units of processing and computing nodes makes it difficult to implement fault-tolerant behavior or load-balancing schemes. The concept of code migration may provide a solution to the problems mentioned above. It can be defined as the movement of process, object or component instances from one computing node to another during system runtime in a distributed environment. Within our paper we describe the integration of a migration facility with the help of aspect-oriented programming (AOP) into the .NET framework. AOP is interesting as it addresses nonfunctional system properties on the middleware level, without the need to manipulate lower system layers like the operating system itself. We have implemented two proof-of-concept applications, namely a migrating Web server as well as a migrating file version checker application. The paper contains an experimental evaluation of the performance impact of object migration in context of those two applications.
workshop on object-oriented real-time dependable systems | 2002
Andreas Rasche; Andreas Polze
Mobile devices, such as cellular phones, personal digital assistants (PDAs), and organizers, are becoming increasingly popular. Due to the high volatility of those devices, the achievable quality-of-service (QoS) for mobile services can hardly be predicted. Even for one particular type of device - say a PDA - the implementation of a mobile service may use different communication interfaces over time (i.e.; wireless LAN, IrDA). Within this paper we present a new approach towards configuration of component-based services for mobile systems. Starting from a XML-based configuration language, which defines a set of rules for component configuration depending on a number of environmental parameters, our approach allows for instantiation and configuration of components. In contrast to many other approaches targeting distributed multimedia-style application on PC-class computers, our framework focuses on the extension of distributed services onto mobile devices. As proof-of-concept scenario we have implemented a configurable distributed video surveillance application on the basis of the Microsoft Distributed Component Object Model on Windows 2000 and on the Windows CE-based Pocket PC platform.
international symposium on parallel and distributed computing | 2010
Frank Feinbube; Bernhard Rabe; Martin von Löwis; Andreas Polze
Todays commercial off-the-shelf computer systems are multicore computing systems as a combination of CPU, graphic processor (GPU) and custom devices. In comparison with CPU cores, graphic cards are capable to execute hundreds up to thousands compute units in parallel. To benefit from these GPU computing resources, applications have to be parallelized and adapted to the target architecture. In this paper we show our experience in applying the NQueens puzzle solution on GPUs using Nvidias CUDA (Compute Unified Device Architecture) technology. Using the example of memory usage and memory access, we demonstrate that optimizations of CUDA programs may have contrary results on different CUDA architectures. Evaluation results will point out, that it is not sufficient to use new programming languages or compilers to achieve best results with emerging graphic card computing.