Skip to main content

Real-Time Stream Processing in Java

  • Conference paper
  • First Online:
Book cover Reliable Software Technologies – Ada-Europe 2016 (Ada-Europe 2016)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9695))

Included in the following conference series:

Abstract

This paper presents a streaming data framework for the Real-Time Specification for Java, with the goal of levering as much as possible the Java 8 Stream processing framework whilst delivering bounded latency. Our approach is to buffer the incoming streaming data into micro batches which are then converted to collections for processing by the Java 8 infrastructure which is configured with a real-time ForkJoin thread pool. Deferrable servers are used to limit the impact of stream processing activity on hard real-time activities.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The JCP Expert Group are due to release a new version of the RTSJ (Version 2.0) in early 2016. This version will be compatible with Java 8.

References

  1. Apache Spark - Lightning-Fast Cluster Computing. http://spark.apache.org/. Accessed 5 Dec 2015

  2. Apache Samza. http://samza.apache.org. Accessed 5 Dec 2015

  3. Apache Storm. http://storm.apache.org/. Accessed 5 Dec 2015

  4. JamaicaVM — aicas.com. https://www.aicas.com/cms/en/JamaicaVM. Accessed 1 Dec 2015

  5. JEP 107: Bulk Data Operations for Collections. http://openjdk.java.net/jeps/107. Accessed 5 Dec 2015

  6. Spark Streaming — Apache Spark. http://spark.apache.org/streaming/. Accessed 5 Dec 2015

  7. StreamIt-Research. http://groups.csail.mit.edu/cag/streamit/shtml/research.shtml. Accessed 5 Dec 2015

  8. Abadi, D.J., Ahmad, Y., Balazinska, M., Cetintemel, U., Cherniack, M., Hwang, J.-H., Lindner, W., Maskey, A., Rasin, A., Ryvkina, E., et al.: The design of the borealis stream processing engine. CIDR 5, 277–289 (2005)

    Google Scholar 

  9. Basanta-Val, P., Fernández-García, N., Wellings, A., Audsley, N.: Improving the predictability of distributed stream processors. Future. Gener. Comput. Syst. 52(C), 22–36 (2015)

    Article  Google Scholar 

  10. Hong, G., Hong, K., Burgstaller, B., Blieberger, J.: Adastreams: a type-based programming extension for stream-parallelism with Ada. In: Proceedings of Reliable Software Technologiey - Ada-Europpe 2010, 15th Ada-Europe International Conference on Reliable Software Technologies, Valencia, Spain, 14–18 June 2010, pp. 208–221 (2005)

    Google Scholar 

  11. Kulkarni, S., Bhagat, N., Fu, M., Kedigehalli, V., Kellogg, C., Mittal, S., Patel, J.M., Ramasamy, K., Taneja, S.: Twitter heron: Stream processing at scale. In: Proceedings of the ACM SIGMOD International Conference on Management of Data, SIGMOD 2015, pp. 239–250. ACM, New York, NY, USA (2015)

    Google Scholar 

  12. Maia, C., Nogueira, L.M., Pinho, L.M., Bertogna, M.: Response-time analysis of fork/join tasks in multiprocessor systems. In: 25th Euromicro Conference on Real-Time Systems (2013)

    Google Scholar 

  13. Mattheis, S., Schuele, T., Raabe, A., Henties, T., Gleim, U.: Work stealing strategies for parallel stream processing in soft real-time systems. In: Herkersdorf, A., Römer, K., Brinkschulte, U. (eds.) ARCS 2012. LNCS, vol. 7179, pp. 172–183. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  14. Mei, H.T., Gray, I., Wellings, A.: Integrating Java 8 streams with the real-time specification for java. In: Proceedings of the 13th International Workshop on Java Technologies for Real-time and Embedded Systems, p. 10. ACM (2015)

    Google Scholar 

  15. Spring, J.H., Privat, J., Guerraoui, R., Vitek, J.: Streamflex: high-throughput stream programming in Java. ACM SIGPLAN Notices 42(10), 211–228 (2007)

    Article  Google Scholar 

  16. Stephens, R.: A survey of stream processing. Acta Inform. 34, 491–541 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  17. Vidal, X., Manzano, R.: Taking a closer look at LHC. http://www.lhc-closer.es/1/3/12/

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to HaiTao Mei , Ian Gray or Andy Wellings .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Mei, H., Gray, I., Wellings, A. (2016). Real-Time Stream Processing in Java. In: Bertogna, M., Pinho, L., Quiñones, E. (eds) Reliable Software Technologies – Ada-Europe 2016. Ada-Europe 2016. Lecture Notes in Computer Science(), vol 9695. Springer, Cham. https://doi.org/10.1007/978-3-319-39083-3_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-39083-3_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-39082-6

  • Online ISBN: 978-3-319-39083-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics