Abstract

Nowadays, there is an accelerating need to efficiently and timely handle large amounts of data that arrives continuously. Streams of big data led to the emergence of several Distributed Stream Processing Systems (DSPS) that assign processing tasks to the available resources (dynamically or not) and route streaming data between them. Efficient scheduling of processing tasks can reduce application latencies and eliminate network congestions. However, the available DSPSs' in-built scheduling techniques are far from optimal. In this work, we extend our previous work, where we proposed a linear scheme for the task allocation and scheduling problem. Our scheme takes advantage of pipelines to handle efficiently applications, where there is need for heavy communication (all-to-all) between tasks assigned to pairs of components. In this work, we prove that our scheme is periodic, we provide a communication refinement algorithm and a mechanism to handle many-to-one assignments efficiently. For concreteness, our work is illustrated based on Apache Storm semantics. The performance evaluation depicts that our algorithm achieves load balance and constraints the required buffer space. For throughput testing, we compared our work to the default Storm scheduler, as well as to R-Storm. Our scheme was found to outperform both the other strategies and achieved an average of 25%-40% improvement compared to Storm's default scheduler under different scenarios, mainly as a result of reduced buffering (≈ 45% less memory). Compared to R-storm, the results indicate an average of 35%-45% improvement.

Highlights

  • Over past 20 years data has increased in a large scale and in various fields

  • EXPERIMENTAL RESULTS we discuss how we evaluate the performance of our proposed scheduling approach

  • We present two sets of experiments, as will be described in the following paragraph: In the first set, we examine the average latency, the percentage of buffer memory used, the load balancing per node, and the throughput to check our system’s performance against the default Apache Storm’s scheduler using a random and a linear topology

Read more

Summary

INTRODUCTION

Over past 20 years data has increased in a large scale and in various fields. The rapid growth of cloud computing and Internet of Things (IoT) promote the sharp growth of data further. To the best of our knowledge most of the existing solutions found in literature rarely consider memory consumption in their analysis and while they take into account the capability of the resources, they generally ignore their load This time, we prove that the task allocation scheme that forms the basis for our scheduler is periodic and the number of necessary computations can be decreased. Taking into consideration that relevant tasks should better be assigned to the same or adjacent nodes, we provide a communication refinement algorithm that was only briefly described in our previous work We add another pipeline-based scheme to handle ‘‘many-to-one’’ assignments between tasks effectively and improve the system’s performance.

BACKGROUND
All the row indices in every class will move to a new row index:
TASK SCHEDULING
MOTIVATING EXAMPLES
EXPERIMENTAL RESULTS
RELATED WORK
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call