Embedded Middleware for Distributed Raspberry Pi Device to Enable Big Data Applications

Applications making use of embedded systems are anticipated to become extremely important as we advance towards realizing the vision of "Internet of Things" with smart devices such as Raspberry Pi, and compute-anywhere paradigm where principles of distributed systems play pivotal roles. A case we envision here is a distributed network of low powered devices to accomplish various tasks autonomously. Driven by a distributed embedded system architecture, each of the devices can work on independent local data, which is device specific, to perform similar compute tasks simultaneously so a common goal can be achieved. This collaborative problem solving in the embedded setting is similar in concept to the big data paradigm now commonly proposed for commodity hardware and large databases. As the embedded devices become more capable and powerful the two concepts will combine. However, they are currently worlds apart, and thus forms the motivation of our research. In this project, a middleware layer is developed and tested to make the devices work collaboratively on local data within a network of Raspberry Pi devices. The middleware layer splits, distributes, computes and merges the computing tasks to accomplish a shared computing goal while performing the operations locally in a "shared nothing" architecture.

[1]  Douglas C. Schmidt,et al.  Middleware for real-time and embedded systems , 2002, CACM.

[2]  Jon Hemmerdinger Age of the algorithm : technology already exists to determine which aircraft and components require attention even before they are due, but airlines have barely begun to harness the power of big data , 2017 .

[3]  Liviu Iftode,et al.  Cooperative computing for distributed embedded systems , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[4]  Amar Phanishayee,et al.  FAWN: a fast array of wimpy nodes , 2009, SOSP '09.

[5]  Marisol García-Valls,et al.  iLAND: An Enhanced Middleware for Real-Time Reconfiguration of Service Oriented Distributed Real-Time Systems , 2013, IEEE Transactions on Industrial Informatics.

[6]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[7]  Aniruddha S. Gokhale,et al.  Reliable software technologies and communication middleware: A perspective and evolution directions for cyber-physical system, mobility, and cloud computing , 2017, Future Gener. Comput. Syst..

[8]  Hairong Kuang,et al.  The Hadoop Distributed File System , 2010, 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST).

[9]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[10]  Wayne H. Wolf Middleware Architectures for Distributed Embedded Systems , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[11]  Navid Mohaghegh,et al.  Using Low-power Embedded Microcontrollers as Web Servers , 2012, 2012 IEEE 10th International Symposium on Parallel and Distributed Processing with Applications.

[12]  Luca P. Carloni,et al.  A broadband embedded computing system for MapReduce utilizing Hadoop , 2012, 4th IEEE International Conference on Cloud Computing Technology and Science Proceedings.

[13]  Dimitrios Gunopulos,et al.  Misco: a MapReduce framework for mobile systems , 2010, PETRA '10.