05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Permanent URI for this collectionhttps://elib.uni-stuttgart.de/handle/11682/6

Browse

Search Results

Now showing 1 - 10 of 304
  • Thumbnail Image
    ItemOpen Access
    Scalable computer network emulation using node virtualization and resource monitoring
    (2011) Maier, Steffen Dirk; Rothermel, Kurt (Prof. Dr. rer. nat. Dr. h. c.)
    Ongoing development of computer network technology requires new communication protocols on all layers of the protocol stack to adapt to and to exploit technology specifics. The performance of new protocol implementations has to be evaluated before deployment. Computer network emulation enables the execution of real unmodified protocol implementations within a configurable synthetic environment. Since network properties are reproduced synthetically, emulation supports reproducible measurement results for wired and wireless networks. Meaningful evaluation scenarios typically involve a large number of communicating nodes. Reproducing the network properties of the medium access control layer can be accomplished efficiently on cheap common off the shelf computers and allows to evaluate network protocols, transport protocols, and applications. However, meaningful emulation scenario sizes often require more nodes than affordable computers. To scale the number of nodes in an emulation scenario beyond the available computers, we discuss approaches to virtualization and operating system partitioning. Focusing on the latter, we argue for virtual protocol stacks, which provide an extremely lightweight node virtualization enabling the execution of multiple instances of software to be evaluated on each physical computer. To connect virtual nodes on the same and on different computers, we design and implement a highly efficient software communication switch. A centralized emulation control component distributes dynamic network property updates which result from node mobility for instance. To handle the large number of nodes and thus increased updates, we propose a hierarchical control where the central component delegates updates to sub-components distributed over the computers of an emulation system. Extensive evaluations show the scalability of our virtualized network emulation system. Virtual nodes executed on the same computer share its limited resources. Hosting too many virtual nodes on the same computer may lead to resource contention. This can cause unrealistic measurement results and is thus undesirable. Discussing different approaches to handle resource contention, we argue for detection and recovery. We define quality criteria that allow the detection of resource contention. In order to observe those quality criteria during emulation experiments, we propose a highly lightweight monitoring approach. Our monitoring is based on instrumenting an operating system kernel and observing basic resource scheduling events. This enables the detection of even peak resource usage within a split second. Thorough evaluations demonstrate the effectiveness of quality criteria and monitoring as well as the negligible overhead of our monitoring approach.
  • Thumbnail Image
    ItemOpen Access
    Development and analysis of a window manager concept for consolidated 3D rendering on an embedded platform
    (2015) Zhao, Han
    Nowadays with the information technology rapidly developing, an increasing number of 2D and 3D graphics are used in automotive displaying systems, to provide vehicle information, driving assistance, etc. With the demand of 3D models interacting with each other, an implementation should have a 3D compositing capability. However, traditional 2D compositing implementations are not capable of 3D models compositing tasks. In order to composite 3D graphics on embedded platform, the 3D compositing implementation is necessary. Therefore, a concept of window manager is developed aiming to composite 3D graphics with an optimized efficiency for embedded platform. Specially for automotive platforms, a virtualization is made to unify multiple Electronic Control Units (ECUs) into one single ECU platform. On this platform, a server and multiple clients are implemented with dedicated Virtual Machines (VMs). The server is in charge of rendering tasks requested from clients. Based on this, a 3D compositing concept is implemented. It handles efficiently the multiple 3D applications situation using a method of off-screen rendering. A server-side virtualization is also implemented by replacing certain client-side commands during commands forwarding. With this virtualization implementation, multiple applications run simultaneously with accessing single 3D GPU only. Moreover, due to this implementation, monolithic rendering operations affecting all applications, e.g. uniform lighting operation, are possible.
  • Thumbnail Image
    ItemOpen Access
    Robust execution of workflows in a distributed environment
    (2013) Schäfer, David Richard
    In many business applications, workflows are used to describe business processes. Employees and machines get instructions from a plan (the workflow) to be guided or controlled. The workflows make it easier to create and manage business processes. Therefore, using workflows is the standard procedure in the business area today. The distributed execution of workflows plays an important role as almost all nodes are connected to a network today. The importance even increases with the emerging of pervasive environments. Because these systems are prone to failures, it is important to develop reliability methods that ensure that the system works properly even if failures occur. When the robustness of a system in a distributed environment shall be increased, the service that has to be executed is usually replicated and executed by two or more nodes. This means that the exact same behavior is executed by multiple nodes and thereby increases the reliability of the system by being able to cope with node failures. Changing the order of the activities or using alternative activities to increase the robustness is promising because when each node receives a different workflow that achieves the same goal, the possibility of failures should be further reduced by decoupling the replicas in respect of time and hardware dependencies. We developed a robustness metric that evaluates the robustness of a set of workflow replicas. We also developed methods and algorithms that generate workflows with different orders and alternative tasks within reasonable time. Our evaluations show that our proposed methods work significantly better than deploying a brute-force method to achieve the same behavior.
  • Thumbnail Image
    ItemOpen Access
    Extended Business Rules
    (2011) Liu, Jian
    In dieser Diplomarbeit wurden der Entwurf, die Implementierung und der Testen des extended Business Rule Managers betrachtet. Dazu wurde zunächst eine grafische Benutzeroberfläche zur Definition Business Regeln bereitgestellt. Dann kamen Web Services als Regel-Prüfer zum Einsatz. Diese Regel-Prüfer müssen nicht nur die erstellten Regeln prüfen, sondern auch sich mit einer Datenbank zur Findung der Werte der operativen Daten verbinden. Schließlich wurde die erstellten Web Services in einem Geschäftsprozess getestet. Darüber hinaus wurden alle benötigen Technologien auch vorgestellt.
  • Thumbnail Image
    ItemOpen Access
    Large-scale data mining analytics based on MapReduce
    (2014) Ranjan, Sunny
    In this work, we search for possible approaches to large-scale data mining analytics. We perform an exploration about the existing MapReduce and other MapReduce-like frameworks for distributed data processing and the distributed file systems for distributed data storage. We study in detail about Hadoop Distributed File System (HDFS) and Hadoop MapReduce software framework. We analyse the benefits of newer version of Hadoop software framework which provides better scalability solution by segregating the cluster resource management task from MapReduce framework. This version is called YARN and is very flexible in supporting various kinds of distributed data processing other than batchmode processing of MapReduce. We also looked into various implementations of data mining algorithms based on MapReduce to derive a comprehensive concept about developing such algorithms. We also looked for various tools that provided MapRedcue based scalable data mining algorithms. We could only find Mahout as a tool specially based on Hadoop MapReduce. But the tool developer team decided to stop using Hadoop MapReduce and to use instead Apache Spark as the underlying execution engine. WEKA also has a very small subset of data mining algorithms implemented using MapReduce which is not properly maintained and supported by the developer team. Subsequently, we found out that Apache Spark, apart from providing an optimised and a faster execution engine for distributed processing also provided an accompanying library for machine learning algorithms. This library is called Machine Learning library (MLlib). Apache Spark claimed that it is much faster than Hadoop MapReduce as it exploits the advantages of in-memory computations which is particularly more beneficial for iterative workloads in case of data mining. Spark is designed to work on variety of clusters: YARN being one of them. It is designed to process the Hadoop data. We selected to perform a particular data mining task: decision tree learning based classification and regression data mining. We stored properly labelled training data for predictive mining tasks in HDFS. We set up a YARN cluster and run Spark's MLlib applications on this cluster. These applications use the cluster managing capabilities of YARN and the distributed execution framework of Spark core services. We performed several experiments to measure the performance gains, speed-up and scaleup of implementations of decision tree learning algorithms in Spark's MLlib. We found out much better than expected results for our experiments. We achieved a much higher than ideal speed-up when we increased the number of nodes. The scale-up is also very excellent. There is a significant decrease in run-time for training decision tree models by increasing the number of nodes. This demonstrates that Spark's MLlib decision tree learning algorithms for classification and regression analysis are highly scalable.
  • Thumbnail Image
    ItemOpen Access
    Entwicklung der OpenGL-basierten grafischen Oberfläche eines E-Learning-Spiels mit Fokus Regelungstechnik
    (2013) Herr, Dominik
    In dieser Arbeit geht es um den konzeptionellen Entwurf und die Implementierung eines auf dem Betriebssystem Android basierten Spiels mit dem Fokus auf den Entwurf eines Reglers. Dieses Thema wurde in zwei Studienarbeiten aufgeteilt. In dieser Arbeit liegt der Fokus auf der Konzipierung und der Implementierung der visuellen Elemente des Kernspiels, sowie des Entwurfs von Highscore und Spielzusammenfassung. Des Weiteren wird auf die Schnittstellen zwischen der Visualisierungskomponente dieser Studienarbeit und der zweiten Studienarbeit, in welcher der Regler entworfen und implementiert wurde, eingegangen. Diese Arbeit stellt nach einer kurzen Einleitung und den notwendigen Grundlagen der Regelungstechnik und des Betriebssystems Android zunächst im Konzept die Architektur des Spiels und die dabei benötigten Komponenten vor. Hierbei wird auch auf die genutzten Konzepte und Entwurfsmuster der Softwaretechnik eingegangen. Im anschließenden Implementierungskapitel wird zunächst der Ablauf des Spiels skizziert. Dann wird vor allem auf die konkrete Implementierung der Visualisierungskomponente im Detail eingegangen. Im Anschluss werden die notwendigen Schnittstellen zwischen Regler- und Visualisierungskomponente, sowie deren konzeptionelle Probleme und Lösungsvorschläge vorgestellt. Zuletzt wird auf die Verwaltung und Visualisierung des Highscores eingegangen.
  • Thumbnail Image
    ItemOpen Access
    Synchronisation von Android-Mobiltelefonen mit Open-Source-Groupware-Lösungen
    (2012) Thielefeld, Martin
    In dieser Arbeit werden Grundlagen, der Entwurf und die Implementierung von Gevil-Sync, einer Android Synchronisations App für Adressbuch- und Kalendereinträge beschrieben. Das eigens entworfene Synchronisationskonzept, welches verschiedene Protokolle, darunter GroupDAV, zur Serverkommunikation einsetzt, wird erläutert. Es ermöglicht eine Zwei Wege Synchronisation. Das heißt: Sogar wenn Änderungen auf dem Handy und auf dem Server vorliegen, können diese abgeglichen werden. Nach der Umsetzung dieses Konzeptes in eine App folgt die Evaluation, in der die zur Synchronisation benötigte Zeit sowie Datenvolumen ausgewertet werden.
  • Thumbnail Image
    ItemOpen Access
    Memory-efficient lossless video compression using temporal extended JPEG-LS and on-line compression
    (2011) Chanda, Debasish
    Use of temporal predictors in lossless video coders play a significant role in terms of compression gain, but comes with a cost of significant memory requirement since this approach requires to save at least one frame in buffer for residue calculation. An improvement to standard JPEG-LS based lossless video coding algorithm is proposed in this work which requires very small amount of memory comparing to the regular approach keeping the computational complexity low. To obtain a higher compression, a combination of spatial and temporal predictor model has been used where appropriate mode is selected adaptively on a pixel based analysis. Using only one reference frame, the context based temporal coder performs its calculation regarding mode selection and prediction error calculation with already reconstructed pixels. This method eliminates the overhead of transmitting the coding mode in the decoder side. The need for storage space to save the only reference frame is further reduced by introducing on-line lossy compression on that frame. Relevant pixels from the stored reference frame are obtained by partial on-the-fly decompression. The combination of temporally extended context based prediction and on-line compression achieves a significant gain in compression ratio comparing to standard frame-by-frame JPEG-LS video coding keeping the memory requirement low, making it usable as a lightweight lossless video coder for embedded systems.
  • Thumbnail Image
    ItemOpen Access
    Optimierung datenintensiver Workflows: Konzepte und Realisierung eines heuristischen, regelbasierten Optimierers
    (2011) Vrhovnik, Marko; Mitschang, Bernhard (Prof. Dr.-Ing. habil.)
    Um die Modellierung datenintensiver Workflows, die große relationale Datenmengen verarbeiten, zu vereinfachen, wurden Workflowbeschreibungssprachen, wie BPEL, von führenden Herstellern von Workflow- und Datenbankmanagementsystemen um SQL-Funktionalität erweitert. Dadurch müssen Datenverarbeitungsoperationen, wie SQL-Anweisungen oder Aufrufe benutzerdefinierter Prozeduren, nicht mehr in Web-Services gekapselt werden, sondern können direkt auf der Workflowebene definiert werden. Daraus resultiert eine neue Möglichkeit der Anfrageoptimierung, die existierende Optimierungsansätze in Datenbanksystemen ergänzt: Suboptimal modellierte Datenverarbeitungsoperationen lassen sich in einer Workflowbeschreibung unter Verwendung von Restrukturierungsregeln derart transformieren, dass sie von einem Workflow- bzw. Datenbankmanagementsystem wesentlich effizienter ausgeführt werden können. In dieser Doktorarbeit werden Konzepte zur Realisierung eines heuristischen, regelbasierten Optimierers für datenintensive Workflows vorgestellt. Der Optimierer wendet eine Regelbasis gemäß einer wohldefinierten Kontrollstrategie auf eine interne Repräsentation für datenintensive Workflows, dem sogenannten Prozessgraphenmodell (PGM), an, um die Datenverarbeitung eines datenintensiven Workflows zu optimieren. PGM erlaubt eine effiziente und sprachunabhängige Definition und Anwendung der Restrukturierungsregeln und unterstützt somit eine Optimierung von Datenverarbeitungsoperationen, die in unterschiedlichen Beschreibungssprachen definiert sein können. Die Regelbasis enthält Restrukturierungsregeln, die auf existierenden und neuen Optimierungsstrategien beruhen. Insbesondere nutzen die Restrukturierungsregeln das Wissen über Abhängigkeiten in einer Workflowbeschreibung aus, um die darin eingebetteten Datenverarbeitungsoperationen unter Beibehaltung der ursprünglichen Ausführungssemantik eines datenintensiven Workflows zu optimieren. Die Kontrollstrategie bestimmt, welche Restrukturierungsregeln in welcher Reihenfolge auf welche Teile einer Workflowbeschreibung angewendet werden, um zum einen das Optimierungspotential eines datenintensiven Workflows umfassend zu nutzen und zum anderen die Korrektheit der Regelanwendungen sicherzustellen. Die ausführliche Beschreibung des Prozessgraphenmodells, der Regelbasis und der Kontrollstrategie stehen im Mittelpunkt dieser wissenschaftlichen Abhandlung. Des Weiteren wird eine prototypische Implementierung des Optimierungsansatzes vorgestellt, welche dessen praktische Einsatzfähigkeit unterstreicht. Schließlich wird die Effektivität der einzelnen Restrukturierungsregeln mithilfe verschiedener Messszenarien untersucht. Dabei wird gezeigt, dass durch Anwendung der Restrukturierungsregeln Leistungssteigerungen in mehreren Größenordnungen erreicht werden können.
  • Thumbnail Image
    ItemOpen Access
    Automatisierte Verarbeitung von Crash Dumps
    (2014) Plödereder, Jörg
    Fehler in der Software kennt jeder, der mit Computern arbeitet, zur Genüge. Manche Fehler sind lediglich ein Ärgernis für den Nutzer, andere machen die Nutzung der Software unmöglich. Diese zweite Fehlersorte äußert sich darin, dass die Software abstürzt bzw. nicht mehr weiter nutzbar ist. Um solche Fehler bei einer bereits ausgelieferten Software zu beheben, muss der Hersteller vom Auftreten des Fehlers informiert werden. Hierzu kann sich der Hersteller der Nutzung von Crash Reports bedienen. Crash Reports sind Fehlerberichte, die im Fehlerfall an den Hersteller der Software gesandt werden und Daten enthalten, die Informationen zum Absturzzustand liefern. Abhängig von der Anzahl der beim Hersteller eingehenden Fehlerberichte und der zu Verwaltung deren zugeteilten Entwickler, wird es nach einiger Zeit mühsam und vor allem zeitaufwändig, die Übersicht über bekannte Fehler zu behalten und die neu eingehenden manuell zu verarbeiten. Ziel dieser Diplomarbeit ist es, ein System zu entwickeln, das die Verarbeitung von automatisch erstellten Fehlerberichten von manueller Arbeit in einen halb-automatischen Vorgang überführt. Der Sinn liegt hierbei in der Effizienzsteigerung und Arbeitseinsparung für die Entwickler. Zur Zeit muss jeder eingehende Fehlerbericht noch von Hand manuell überprüft werden, der Fehler bzw. die fehlererzeugende Methode gefunden und danach einem bekannten Fehler im Bug-Tracking-System zugeordnet oder darin als neu klassifiziert werden. Ebenso ist es möglich, dass vergleichbare Fehler nicht als ähnlich vom Menschen klassifiziert werden, da ihnen das Wissen um den anderen Fehler fehlt und ihre subjektive Suchabfrage im Bug-Tracking-System kein Ergebnis liefert. Die Arbeit stützt sich dabei auf die bekannten Theorien und Umsetzungen für Fehlerzuordnung und soll ferner den genauen Grad der Automatisierung feststellen, der für ein System geeignet ist, das sowohl auf händisch erstellten Fehlermeldungen, als auch auf automatisch generierten Fehlerberichten basiert. Die für die Zuordnung bekannter Fehler verschiedenen bekannten Techniken sollen auf ihre Nützlichkeit hin evaluiert werden. Das nützlichste Verfahren soll dann in die Implementierung des Gesamtsystems einfließen.