222 research outputs found
Curracurrong: a stream processing system for distributed environments
Advances in technology have given rise to applications that are deployed on wireless sensor networks (WSNs), the cloud, and the Internet of things. There are many emerging applications, some of which include sensor-based monitoring, web traffic processing, and network monitoring. These applications collect large amount of data as an unbounded sequence of events and process them to generate a new sequences of events. Such applications need an adequate programming model that can process large amount of data with minimal latency; for this purpose, stream programming, among other paradigms, is ideal. However, stream programming needs to be adapted to meet the challenges inherent in running it in distributed environments. These challenges include the need for modern domain specific language (DSL), the placement of computations in the network to minimise energy costs, and timeliness in real-time applications. To overcome these challenges we developed a stream programming model that achieves easy-to-use programming interface, energy-efficient actor placement, and timeliness. This thesis presents Curracurrong, a stream data processing system for distributed environments. In Curracurrong, a query is represented as a stream graph of stream operators and communication channels. Curracurrong provides an extensible stream operator library and adapts to a wide range of applications. It uses an energy-efficient placement algorithm that optimises communication and computation. We extend the placement problem to support dynamically changing networks, and develop a dynamic program with polynomially bounded runtime to solve the placement problem. In many stream-based applications, real-time data processing is essential. We propose an approach that measures time delays in stream query processing; this model measures the total computational time from input to output of a query, i.e., end-to-end delay
Curracurrong: a stream processing system for distributed environments
Advances in technology have given rise to applications that are deployed on wireless sensor networks (WSNs), the cloud, and the Internet of things. There are many emerging applications, some of which include sensor-based monitoring, web traffic processing, and network monitoring. These applications collect large amount of data as an unbounded sequence of events and process them to generate a new sequences of events. Such applications need an adequate programming model that can process large amount of data with minimal latency; for this purpose, stream programming, among other paradigms, is ideal. However, stream programming needs to be adapted to meet the challenges inherent in running it in distributed environments. These challenges include the need for modern domain specific language (DSL), the placement of computations in the network to minimise energy costs, and timeliness in real-time applications. To overcome these challenges we developed a stream programming model that achieves easy-to-use programming interface, energy-efficient actor placement, and timeliness. This thesis presents Curracurrong, a stream data processing system for distributed environments. In Curracurrong, a query is represented as a stream graph of stream operators and communication channels. Curracurrong provides an extensible stream operator library and adapts to a wide range of applications. It uses an energy-efficient placement algorithm that optimises communication and computation. We extend the placement problem to support dynamically changing networks, and develop a dynamic program with polynomially bounded runtime to solve the placement problem. In many stream-based applications, real-time data processing is essential. We propose an approach that measures time delays in stream query processing; this model measures the total computational time from input to output of a query, i.e., end-to-end delay
Ubiquitous Nature of Event-Driven Approaches: A Retrospective View
This paper retrospectively analyzes the progress of event-based capability and
their applicability in various domains. Although research on event-based
approaches started in a humble manner with the intention of introducing
triggers in database management systems for monitoring application state and to
automate applications by reducing/eliminating user intervention, currently it
has become a force to reckon with as it finds use in many diverse domains. This
is primarily due to the fact that a large number of real-world applications are
indeed event-driven and hence the paradigm is apposite.
In this paper, we briefly overview the development of the ECA (or
event-condition-action) paradigm. We briefly discuss the evolution of the ECA
paradigm (or active capability) in relational and Object-oriented systems. We
then describe several diverse applications where the ECA paradigm has been used
effectively. The applications range from customized monitoring of web pages to
specification and enforcement of access control policies using RBAC (role-based
access control). The multitude of applications clearly demonstrate the
ubiquitous nature of event-based approaches to problems that were not
envisioned as the ones where the active capability would be applicable.
Finally, we indicate some future trends that can benefit from the ECA paradigm
A System Of Operations On Sliding Windows
One of the distinguishing characteristics of a data stream system is \u27a continuous query operating on dynamic data\u27 as opposed to \u27static data processed by instantaneous query\u27 in DBMS. In this paper, we propose a system of operators to process a continuous query on sliding windows over streaming data. We use the pre-defined notion of sliding windows over a data stream and provide an abstraction for a system of operations that supports evaluation of a continuous query on sliding windows. The model consists of a basic data window, a set of transition operations, a set of processing operations and the operation of binding number of streams together before processing
Versatile event correlation with algebraic effects
We present the first language design to uniformly express variants of
n
-way joins over asynchronous event streams from different domains, e.g., stream-relational algebra, event processing, reactive and concurrent programming. We model asynchronous reactive programs and joins in direct style, on top of algebraic effects and handlers. Effect handlers act as modular interpreters of event notifications, enabling fine-grained control abstractions and customizable event matching. Join variants can be considered as cartesian product computations with ”degenerate” control flow, such that unnecessary tuples are not materialized a priori. Based on this computational interpretation, we decompose joins into a generic, naive enumeration procedure of the cartesian product, plus variant-specific extensions, represented in terms of user-supplied effect handlers. Our microbenchmarks validate that this extensible design avoids needless materialization. Alongside a formal semantics for joining and prototypes in Koka and multicore OCaml, we contribute a systematic comparison of the covered domains and features.
ERC, Advanced Grant No. 321217
ERC, Consolidator Grant No. 617805
DFG, SFB 1053
DFG, SA 2918/2-
- …