1 |
Optimising Dynamic Binary Modification across ARM microarchitecturesGorgovan, Cosmin January 2017 (has links)
Dynamic Binary Modification (DBM) is a technique for modifying applications at runtime, working at the level of native code. It has numerous applications, including instrumentation, translation and optimisation. However, DBM introduces a performance overhead, which in some cases can dominate execution time, making many uses impractical. While avenues for reducing this overhead have been widely explored on x86, ARM, an architecture gaining widespread adoption, has received little attention. Consequently, the overhead of DBM on ARM, as reported in the literature and measured using the available DBM systems, has fallen behind the state-of-the-art by one or two orders of magnitude. The research questions addressed in this thesis are: 1) how to develop low overhead DBM systems for the ARM architecture, and 2) whether new optimisations are plausible and needed. Towards that end, a number of novel optimisations were developed and evaluated specifically to address the sources of overhead for DBM on various ARM microarchitectures. Furthermore, many of the optimisations in the literature were ported to ARM and evaluated. This work was enabled by a new DBM system, named MAMBO, created specifically for this purpose. MAMBO, using the optimisations presented in this thesis, is able to achieve an overhead an order of magnitude smaller than that of the most efficient DBM system for ARM available at the start of this PhD.
|
2 |
Using Non-Intrusive Instrumentation to Analyze any Distributed Middleware in Real-TimeLui, Nyalia 05 1900 (has links)
Indiana University-Purdue University Indianapolis (IUPUI) / Dynamic Binary Instrumentation (DBI) is one way to monitor a distributed system in real-time without modifying source code. Previous work has shown it is possible to instrument distributed systems using standards-based distributed middleware. Existing work, however, only applies to a single middleware, such as CORBA.
This thesis therefore presents a tool named the Standards-based Distributed Middleware Monitor (SDMM), which generalizes two modern standards-based distributed middleware, the Data Distribution Service (DDS) and gRemote Procedure Call (gRPC). SDMM uses DBI to extract values and other data relevant to monitoring a distributed system in real-time. Using dynamic instrumentation allows SDMM to capture information without a priori knowledge of the distributed system under instrumentation. We applied SDMM to systems created with two DDS vendors, RTI Connext DDS and OpenDDS, as well as gRPC which is a complete remote procedure call framework. Our results show that the data collection process contributes to less than 2% of the run-time overhead in all test cases.
|
3 |
Using Non-Intrusive Instrumentation to Analyze any Distributed Middleware in Real-TimeNyalia James-Korsuk Lui (10686993) 10 May 2021 (has links)
<div>Dynamic Binary Instrumentation (DBI) is one way to monitor a distributed system in real-time without modifying source code. Previous work has shown it is possible to instrument distributed systems using standards-based distributed middleware. Existing work, however, only applies to a single middleware, such as CORBA.</div><div><br></div><div>This thesis therefore presents a tool named the Standards-based Distributed Middleware Monitor (SDMM), which generalizes two modern standards-based distributed middleware, the Data Distribution Service (DDS) and gRemote Procedure Call (gRPC). SDMM uses DBI to extract values and other data relevant to monitoring a distributed system in real-time. Using dynamic instrumentation allows SDMM to capture information without a priori knowledge of the distributed system under instrumentation. We applied SDMM to systems created with two DDS vendors, RTI Connext DDS and OpenDDS, as well as gRPC which is a complete remote procedure call framework. Our results show that the data collection process contributes to less than 2% of the run-time overhead in all test cases.</div>
|
4 |
ENABLING REAL TIME INSTRUMENTATION USING RESERVOIR SAMPLING AND BIN PACKINGSai Pavan Kumar Meruga (16496823) 30 August 2023 (has links)
<p><em>Software Instrumentation is the process of collecting data during an application’s runtime,</em></p>
<p><em>which will help us debug, detect errors and optimize the performance of the binary. The</em></p>
<p><em>recent increase in demand for low latency and high throughput systems has introduced new</em></p>
<p><em>challenges to the process of Software Instrumentation. Software Instrumentation, especially</em></p>
<p><em>dynamic, has a huge impact on systems performance in scenarios where there is no early</em></p>
<p><em>knowledge of data to be collected. Naive approaches collect too much or too little</em></p>
<p><em>data, negatively impacting the system’s performance.</em></p>
<p><em>This thesis investigates the overhead added by reservoir sampling algorithms at different</em></p>
<p><em>levels of granularity in real-time instrumentation of distributed software systems. Also, this thesis describes the implementation of sampling techniques and algorithms to reduce the overhead caused by instrumentation.</em></p>
|
5 |
Development of a prototype taint tracing tool for security and other purposesKargén, Ulf January 2012 (has links)
In recent years there has been an increasing interest in dynamic taint tracing of compiled software as a powerful analysis method for security and other purposes. Most existing approaches are highly application specific and tends to sacrifice precision in favor of performance. In this thesis project a generic taint tracing tool has been developed that can deliver high precision taint information. By allowing an arbitrary number of taint labels to be stored for every tainted byte, accurate taint propagation can be achieved for values that are derived from multiple input bytes. The tool has been developed for x86 Linux systems using the dynamic binary instrumentation framework Valgrind. The basic theory of taint tracing and multi-label taint propagation is discussed, as well as the main concepts of implementing a taint tracing tool using dynamic binary instrumentation. The impact of multi-label taint propagation on performance and precision is evaluated. While multi-label taint propagation has a considerable impact on performance, experiments carried out using the tool show that large amounts of taint information is lost with approximate methods using only one label per tainted byte.
|
Page generated in 0.1351 seconds