Online Trace Reordering for Efficient Representation of Event Partial Orders

Distributed and parallel applications not only have distributed state but are often inherently non-deterministic, making them significantly more challenging to monitor and debug. Additionally, a significant challenge when working with distributed and parallel applications has to do with the fundamen...

Full description

Bibliographic Details
Main Author: Sheikh, Muhammad Bilal
Language:en
Published: 2012
Subjects:
Online Access:http://hdl.handle.net/10012/6481
id ndltd-WATERLOO-oai-uwspace.uwaterloo.ca-10012-6481
record_format oai_dc
spelling ndltd-WATERLOO-oai-uwspace.uwaterloo.ca-10012-64812013-01-08T18:55:13ZSheikh, Muhammad Bilal2012-01-20T15:21:56Z2012-01-20T15:21:56Z2012-01-20T15:21:56Z2012-01-18http://hdl.handle.net/10012/6481Distributed and parallel applications not only have distributed state but are often inherently non-deterministic, making them significantly more challenging to monitor and debug. Additionally, a significant challenge when working with distributed and parallel applications has to do with the fundamental requirement of determining the order in which certain actions are performed by the application. A naive approach for ordering actions would be to impose a single order on all actions, i.e., given any two actions or events, one must happen before the other. A global order, however, is often misleading, e.g., two events in two different processes may be causally independent yet one may have occurred before the other. A partial order of events, therefore, serves as the fundamental data structure for ordering events in distributed and parallel applications. Traditionally, Fidge/Mattern timestamps have been used for representing event partial orders. The size of the vector timestamp depends on the number of parallel entities (traces) in the application, e.g., processes or threads. A major limitation of Fidge/Mattern time- stamps is that the total size of timestamps does not scale for large systems with hundreds or thousands of traces. Taylor proposed an efficient offset-based scheme for representing large event partial orders by representing deltas between timestamps of successive events. The offset-based schemes have been shown to be significantly more space efficient when traces that communicate the most are close to each other for generating the deltas (offsets). In Taylor’s offset-based schemes the optimal order of traces is computed offline. In this work we adapt the offset-based schemes to dynamically reorder traces and demonstrate that very efficient scalable representations of event partial orders can be generated in an online setting, requiring as few as 100 bytes/event for storing partial order event data for applications with around 1000 processes.enOnline Trace Reordering for Efficient Representation of Event Partial OrdersThesis or DissertationSchool of Computer ScienceMaster of MathematicsComputer Science
collection NDLTD
language en
sources NDLTD
topic Computer Science
spellingShingle Computer Science
Sheikh, Muhammad Bilal
Online Trace Reordering for Efficient Representation of Event Partial Orders
description Distributed and parallel applications not only have distributed state but are often inherently non-deterministic, making them significantly more challenging to monitor and debug. Additionally, a significant challenge when working with distributed and parallel applications has to do with the fundamental requirement of determining the order in which certain actions are performed by the application. A naive approach for ordering actions would be to impose a single order on all actions, i.e., given any two actions or events, one must happen before the other. A global order, however, is often misleading, e.g., two events in two different processes may be causally independent yet one may have occurred before the other. A partial order of events, therefore, serves as the fundamental data structure for ordering events in distributed and parallel applications. Traditionally, Fidge/Mattern timestamps have been used for representing event partial orders. The size of the vector timestamp depends on the number of parallel entities (traces) in the application, e.g., processes or threads. A major limitation of Fidge/Mattern time- stamps is that the total size of timestamps does not scale for large systems with hundreds or thousands of traces. Taylor proposed an efficient offset-based scheme for representing large event partial orders by representing deltas between timestamps of successive events. The offset-based schemes have been shown to be significantly more space efficient when traces that communicate the most are close to each other for generating the deltas (offsets). In Taylor’s offset-based schemes the optimal order of traces is computed offline. In this work we adapt the offset-based schemes to dynamically reorder traces and demonstrate that very efficient scalable representations of event partial orders can be generated in an online setting, requiring as few as 100 bytes/event for storing partial order event data for applications with around 1000 processes.
author Sheikh, Muhammad Bilal
author_facet Sheikh, Muhammad Bilal
author_sort Sheikh, Muhammad Bilal
title Online Trace Reordering for Efficient Representation of Event Partial Orders
title_short Online Trace Reordering for Efficient Representation of Event Partial Orders
title_full Online Trace Reordering for Efficient Representation of Event Partial Orders
title_fullStr Online Trace Reordering for Efficient Representation of Event Partial Orders
title_full_unstemmed Online Trace Reordering for Efficient Representation of Event Partial Orders
title_sort online trace reordering for efficient representation of event partial orders
publishDate 2012
url http://hdl.handle.net/10012/6481
work_keys_str_mv AT sheikhmuhammadbilal onlinetracereorderingforefficientrepresentationofeventpartialorders
_version_ 1716573915702099968