From the very beginning, we have maintained that the most compelling applications for edge computing are ones that require low latency responses or ones where the network to the cloud is expensive or inadequate. In this context, we asserted that the “killer app” for edge computing is live video analytics. Along the way, other Microsoft researchers discovered precision agriculture to be a beautiful edge computing application as well. We are exploring both:
Large-scale video processing is a grand challenge representing an important frontier for analytics, what with videos from factory floors, traffic intersections, police vehicles, and retail shops. Read more.
We believe that data, coupled with the farmer’s knowledge and intuition, can help increase farm productivity and help reduce costs. However, getting data from the farm is difficult since there is often no power in the field… Read more.
We have been exploring the fundamental trade-off between computation and communications to enable a new class of cpu-, gpu- and data-intensive applications that seamlessly augment the cognitive abilities of users by exploiting speech recognition, NLP, vision, machine learning, and augmented reality (Project Maui, Mobisys 2010). We have made significant progress in overcoming the energy and computation limitations of sensors, handhelds, and wearables. In subsequent research we demonstrated how important special-purpose workloads can also leverage cloud offload: for GPU-intensive rendering applications (Project Kahawai, MobiSys 2015) and deep neural network video stream processing (MCDNN, MobiSys 2016).
Mobile Assistance Using Infrastructure (MAUI) was the first system to demonstrate fine-grained code offload to nearby edge server(s) with minimal programmer effort. Watch the video.
Kahawai enables high-quality gaming on mobile devices, such as tablets and smartphones, by offloading a portion of the GPU computation to server-side infrastructure. Watch the video.
Geo-distributed Edge Analytics
Edge servers located in thousands of locations and managed by the same administrative entity offer powerful computing resources for cloud providers. Our research on low-latency edge analytics explores how best to use these resources. For example, the old approach of aggregating all the data from sensors to a single data center negatively impacts the timeliness of the analytics. But, running queries over geo-distributed inputs using the current intra-DC analytics frameworks also results in high query response times because these frameworks cannot cope with the relatively low and variable capacity of the WAN links. Our Iridium system (SIGCOMM 2015) provides low latency geo-distributed analytics by optimizing placement of both data and tasks of the queries. Follow-on work (CLARINET, OSDI 2016) considers WAN links with heterogeneous and modest bandwidths, unlike intra-datacenter networks, when deriving query execution plans across the cloud and edge servers.
While edge computing is touted as the next big evolution in cloud computing, little is said about edge availability. Customers use the cloud for the operation of their businesses and they expect the cloud to be available 24x7x365. Should they not expect the same from their edge servers? The problem of edge availability is like the truck-roll problem, that is, with tens of thousands of edges in different locations, what happens when an edge goes down? Whose responsibility is it to fix it? Should the cloud provider send some expert to take care of it? The answer to these questions is closely related to the business model of edge computing. We are investigating these questions and building technology that provides guarantees to the edge computing users, guarantees that are at par to the service level agreements (SLA) that cloud providers offer. We are also investigating whether it makes sense to use the same metrics for edge availability as we have been using for cloud availability.
ML for Edge
Our colleagues in Microsoft Research India are developing a library of efficient machine learning (ML) algorithms that can run on resource-constrained edge and IoT devices ranging from the Arduino to the Raspberry Pi. The thesis is that IoT devices and sensors don’t have to be “dumb” i.e. they can do more than just sense their environment and transmit their readings to the cloud, which is where the traditional decision making intelligence resides. Instead, an alternative paradigm is where even tiny, resource-constrained IoT devices run ML algorithms locally. This enables important scenarios overcoming concerns around connectivity to the cloud, latency, energy, privacy, and security. Read more
Cloud providers, such as Microsoft, have two types of edges: On-net edges or Off-net edges. On-net edges are generally easier to operate, manage and maintain as they are on the cloud provider’s network. In contrast, Off-net edges are connected to the cloud via the Internet, which may include several ISPs. Managing and operating such edges can be challenging due to the vagaries of the Internet. We are investigating problems to improve the network connectivity to our Off-net edges and the networking between the edges and sensors. Furthermore, edges provide us an opportunity to (re) investigate old ideas around low-latency, secure, overlay networking.
Cloud companies spend large amounts of money to physically secure their millions of servers located in their many data centers. In contrast, edge computing servers may or may not be physically secured. This opens the possibility of malicious attacks on the edge and cloud infrastructure. While a lot has been done to physically secure assets in the cloud, we are investigating techniques to do the same for our edge assets. Security and trust require authenticity and integrity, so we are investigating the use of sensors and specialized hardware in combination with new programming abstractions and system support for building secure and trusted edges. This research builds on our prior work on trusted sensors (MobiSys 2012, ASPLOS ’14) and recent product offering (Azure Sphere).
Before the dawn of edge computing, which has brought about a major cloud computing paradigm shift in the industry, we developed, deployed and operated a cloud service-store under the banner of Project Hawaii. With it we empowered developers to build sophisticated, cloud-enhanced applications for their resource constraint devices. Our cloud service store included a variety of services including: optical character recognition, speech-to-text, path prediction, social computing, language translation, relay, rendezvous, etc. for Windows, Android, & IOS devices. Over 60 universities used our services as a teaching aid for senior and graduate-level mobile + cloud computing courses. 2015 onward similar cloud services were commercialized by all major cloud providers under the banner of cognitive services. Check out Azure cognitive services. Historically speaking, Project Hawaii was the first to show how cloud/edge can be used in conjunction with a resource-constraint mobile device to augment human abilities.
A utility tool developed by a student for on-the-go translations. Project Hawaii’s OCR & S2T services, and Bing Translator were used. Check out our Gallery for dozens of student created featured projects. Read more.