Heterogeneous Distributed Shared Memory for Lightweight Internet-of-Things Devices [abstract] (IEEE Xplore, PDF)
Bongjun Kim, Seonyeong Heo, Gyeongmin Lee, Soyeon Park, Hanjun Kim, and Jong Kim
IEEE Micro, Volume 36, Number 6, November 2016.
IF=1.933, Q2 (JCR 2016)
Despite the promising applicability of the Internet of Things (IoT)
such as home automation and health monitoring, developing an IoT
application is laborious because programmers should explicitly
manipulate communication for shared data across heterogeneous
distributed IoT devices. Recent proposals simplify the
communication management with graphical views or language
extension, but still require programmers to explicitly manage the
communication. To liberate programmers from the explicit
communication management, this work revisits heterogeneous
distributed shared memory (HDSM) for IoT devices, and proposes a
compiler-runtime cooperative HDSM framework, called IoT-HDSM. The
compiler unifies heterogeneous memory layouts of different IoT
devices, and the runtime system provides a shared memory view for
the devices. To support lightweight devices that cannot execute
the runtime, the compiler automatically inserts explicit
communication instructions into the IoT application. More- over,
to efficiently control concurrent memory accesses without locks,
this work also proposes a new annotation called memory branch that
provides a memory snapshot for each device. This work implements 3
IoT services with IoT-HDSM, and shows that IoT-HDSM simplifies
shared data management without harming QoS.