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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 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
Apache Spark - Lightning-Fast Cluster Computing. http://spark.apache.org/. Accessed 5 Dec 2015
Apache Samza. http://samza.apache.org. Accessed 5 Dec 2015
Apache Storm. http://storm.apache.org/. Accessed 5 Dec 2015
JamaicaVM — aicas.com. https://www.aicas.com/cms/en/JamaicaVM. Accessed 1 Dec 2015
JEP 107: Bulk Data Operations for Collections. http://openjdk.java.net/jeps/107. Accessed 5 Dec 2015
Spark Streaming — Apache Spark. http://spark.apache.org/streaming/. Accessed 5 Dec 2015
StreamIt-Research. http://groups.csail.mit.edu/cag/streamit/shtml/research.shtml. Accessed 5 Dec 2015
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)
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)
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)
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)
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)
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)
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)
Spring, J.H., Privat, J., Guerraoui, R., Vitek, J.: Streamflex: high-throughput stream programming in Java. ACM SIGPLAN Notices 42(10), 211–228 (2007)
Stephens, R.: A survey of stream processing. Acta Inform. 34, 491–541 (1997)
Vidal, X., Manzano, R.: Taking a closer look at LHC. http://www.lhc-closer.es/1/3/12/
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights 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)