“Any sufficiently advanced technology is indistinguishable from magic”, wrote the famous science fiction writer Arthur C. Clarke, in his book Profiles of the Future. Also called Clarke’s third law, this is a widely used quote in Technocene -- the technology driven world we live in. Today, your smartphone lets you whisper to a person sitting thousands of miles away with a sheer touch of magic, or so we think. A simple act of drinking a coffee at a cafe today is an experience on its own! You can listen to your favourite song or browse the Internet for free while sipping on your cup of elixir. Now, what if you could also bring along your Oculus Virtual Reality headset and play your favourite game? Did you just say magical? Yes, that is what ‘fog’ and ‘edge’ computing are poised to offer!
Computing systems around the world are increasingly dealing with zillions of bytes of data including images, video, audio and text. To handle this huge volume, we moved away from independent workstations to cloud computing systems -- a paradigm where all the computing is done in huge data centres housing very powerful computers. However, this move was not without limitations. Since data centres, the powerhorse churning all the computations, became distant from our ‘dummy’ workstations, it necessitated larger bandwidths and increased delays to transfer data to the cloud and back. Edge and fog computing are emerging technologies that aim to overcome these drawbacks of cloud computing.
“If you take a power grid for example, then edge computing devices refer to the electricity meter in every house, fog computing devices could be compared to the transformers or electricity substation and the cloud is equivalent to a major power generating station”, explains Prof. Yogesh Simmhan, an Assistant Professor at the Department of Computational and Data Sciences at the Indian Institute of Science, Bangalore.
Edge computing is a technology paradigm that augments cloud computing systems by performing data processing at the edge of the network, near the source of the data. Devices with reasonable computational capabilities like Wi-Fi routers, smartphones, Fitbit fitness trackers and the Raspberry Pi are all examples of such edge devices. “These devices typically have a quad core processor, 1GB of RAM and run on Linux operating systems, making them equivalent to workstations we used 10 years ago”, explains Prof. Simmhan. Though these devices offer very low latency for processing, they are not used widely because of the limitations in their battery technologies and a lack of a common software platform.
Fog computing, a term coined by Cisco Systems, is still an evolving concept with no clear definition as yet. “It serves as a midway between edge and cloud computing in many ways. A fog computing system may be compared to small computer clusters, mini data centres, or a workstation with a powerful GPU”, explains Prof. Simmhan. While cloud and edge computing have defined business models, the manner in which we will use fog computing and monetise it is still unclear. However, both edge and fog computing are cost effective and complement cloud computing systems.
“Fog and edge computing are a mix that provide an opportunity and address the challenges of latency and bandwidth inherent to cloud computing”, remarks Prof. Simmhan, who along with his team of researchers at the DREAM (Distributed Research on Emerging Applications and Machines) Lab at IISc, have now developed a new software platform that intends to take fog and edge computing to a new level.
ECHO -- Taking Fog and edge computing to the next level
Prof. Simmhan and his team of researchers have been working on edge and fog computing for over a year now. A key challenge that the team has recognised in these systems is the lack of programmability in the fog and edge devices -- unlike the cloud. “Service providers of cloud computing like Amazon, Google and Microsoft provide a standard set of software development kits as service offerings and a developer can program whatever she needs using them. However, only few edge devices like smartphones running Apple’s iOS or Google’s Android give you the ability to write programs”, says Prof. Simmhan.
To address this, Prof. Simmhan and his team have developed ECHO -- a juxtaposed abbreviation of ‘Orchestration platform for Hybrid dataflows across Cloud and Edge’. It is a software program that runs on devices running on Linux operating system with a 1GHz processor and 1GB of RAM. “ECHO takes the capability of all edge devices and allows you to build your own application blocks that can compose into a data-flow, something similar to Lego blocks that fit into each other. These ‘blocks’ could be spread out and execute on different devices on the network. This helps in separating the conceptual model of data-flow from the actual implementation details in each of the device”, remarks Prof. Simmhan.
ECHO can handle a wide variety of data including streaming data (data is sent through the blocks in real time), micro-batch data (data is buffered before being sent through the blocks in batches) and data from external or existing platforms specialised for deep learning technologies (an application of neural networks) or cloud. Such hybrid forms of data is typically seen in systems supporting the Internet of Things (IoT). “We are targeting IoT, but the platform can be used anywhere”, adds Prof. Simmhan. A peer-reviewed paper on ECHO has been accepted for presentation at the reputed International Conference on Service-Oriented Computing (ICSOC) at Malaga, Spain, to be held in November, 2017.
An exciting future beckons
Prof. Simmhan and his team are thrilled about the progress made with ECHO. “ECHO is a starting point for us. It is a novel application platform unlike anything currently in the open source community”, he remarks with excitement. There is another important aspect: he feels ECHO can double up as a research platform for the lab down the line. And there is no stopping, for this team is excited to pick new challenges along the way.
Firstly, the team is figuring out where to place the data flow blocks to achieve optimal performance in the network. They also want to build a ‘smart’ platform that can handle reuse. “We are also working on resolving scenarios where there is a reuse of data and compute power with multiple users using the same platform so that their data is not mixed up and at the same time, improving the performance”, says Prof Simmhan. “Resiliency of the devices on the network -- the ability for the application to still function in spite of a few devices dying -- is another aspect of active research”, adds Prof. Simmhan detailing the future plans.
IoT is now a technology hotcake that has given birth to ambitious projects like Smart Cities. Many governments across the world are rallying behind such initiatives and putting their money behind technology. “If the governments are putting money into things like Smart Cities, it means there is a working model for that in the future”, hints Prof. Simmhan. While many European cities have already turned ‘smart’, India is also adding 100 of its cities to that list in the recently announced Smart Cities Mission.
So, with that, how does the future for fog and edge computing look in India? “I do see an ecosystem of research among Indian academia, start-ups and industry that can further IoT and cyber-physical system (CPS) a lot. In fact, we have the top CPS centre in India, the Robert Bosch Centre for Cyber-Physical Systems (RBCCPS) at IISc which is a great forum to pull in multidisciplinary research”, opines Prof. Simmhan, citing that a great opportunity lies ahead of us. “Technology can solve basic [problems] in many innovative ways. We need to look further ahead than where we currently are. Farsightedness is still the need today”, he signs off.