Dr. Michael McCool, Intel
Programming the Internet of Things
The Internet of Things (IoT) can be defined most broadly as internet-enabled embedded computing. Things, able to sense and interact with the real world, must now also able to communicate over the internet with a potentially global reach. This broad definition of IoT covers a wide range of possible use cases, including but not limited to automotive computing, industrial, municipal, and environmental monitoring, home automation and security, smart appliances, wearables, and robotics. Communication may be machine-to-machine (M2M) or human-to-machine (H2M). Tiny devices need to be able to communicate and coordinate with data centers, and interact with users---often without displays of their own, and under severe power and form-factor constraints. IoT is also emerging in the context of existing web, tablet, and phone ecosystems. In this talk, I will discuss Intel’s efforts to address the emerging IoT market with a range of suitable SoCs (both Atom and Quark based) scaling down to very low power for endpoints and gateways, novel dual operating system architectures combining real-time and Linux capabilities, and new programming models and tools for rapid development of applications. IoT “applications” may in fact span multiple devices, including sensor nodes, gateways, interface devices (such as smartphones, tablets, and laptops), and cloud services. Programming models developed for embedded devices need to be coordinated with programming models developed for web services and for developing rich user interfaces on smart phones. These programming models need to be accessible but at the same time need to deal with the realities of the limited resources available on IoT devices. This is a challenge, but the potential of IoT will be best unlocked by providing a wide range of developers the means to rapidly develop and bring their ideas to market.
Michael McCool has degrees in Computer Engineering (University of Waterloo, BASc) and Computer Science (University of Toronto, M.Sc. and PhD.) with specializations in mathematics (BASc) and biomedical engineering (MSc) as well as computer graphics and parallel computing (MSc, PhD). He has research and application experience in the areas of data mining, computer graphics (specifically sampling, rasterization, texture hardware, antialiasing, shading, illumination, and visualization), medical imaging, signal and image processing, financial analysis, and languages and programming platforms for high productivity parallel computing. In order to commercialize research work into many core computing platforms done while he was a professor at the University of Waterloo, in 2004 he co-founded RapidMind, which in 2009 was acquired by Intel. Currently he is a Software Architect with Intel.
Invited by Professor Cathy Gebotys.