1,125 research outputs found
Generic Connectivity-Based CGRA Mapping via Integer Linear Programming
Coarse-grained reconfigurable architectures (CGRAs) are programmable logic
devices with large coarse-grained ALU-like logic blocks, and multi-bit
datapath-style routing. CGRAs often have relatively restricted data routing
networks, so they attract CAD mapping tools that use exact methods, such as
Integer Linear Programming (ILP). However, tools that target general
architectures must use large constraint systems to fully describe an
architecture's flexibility, resulting in lengthy run-times. In this paper, we
propose to derive connectivity information from an otherwise generic device
model, and use this to create simpler ILPs, which we combine in an iterative
schedule and retain most of the exactness of a fully-generic ILP approach. This
new approach has a speed-up geometric mean of 5.88x when considering benchmarks
that do not hit a time-limit of 7.5 hours on the fully-generic ILP, and 37.6x
otherwise. This was measured using the set of benchmarks used to originally
evaluate the fully-generic approach and several more benchmarks representing
computation tasks, over three different CGRA architectures. All run-times of
the new approach are less than 20 minutes, with 90th percentile time of 410
seconds. The proposed mapping techniques are integrated into, and evaluated
using the open-source CGRA-ME architecture modelling and exploration framework.Comment: 8 pages of content; 8 figures; 3 tables; to appear in FCCM 2019; Uses
the CGRA-ME framework at http://cgra-me.ece.utoronto.ca
Robotic Wireless Sensor Networks
In this chapter, we present a literature survey of an emerging, cutting-edge,
and multi-disciplinary field of research at the intersection of Robotics and
Wireless Sensor Networks (WSN) which we refer to as Robotic Wireless Sensor
Networks (RWSN). We define a RWSN as an autonomous networked multi-robot system
that aims to achieve certain sensing goals while meeting and maintaining
certain communication performance requirements, through cooperative control,
learning and adaptation. While both of the component areas, i.e., Robotics and
WSN, are very well-known and well-explored, there exist a whole set of new
opportunities and research directions at the intersection of these two fields
which are relatively or even completely unexplored. One such example would be
the use of a set of robotic routers to set up a temporary communication path
between a sender and a receiver that uses the controlled mobility to the
advantage of packet routing. We find that there exist only a limited number of
articles to be directly categorized as RWSN related works whereas there exist a
range of articles in the robotics and the WSN literature that are also relevant
to this new field of research. To connect the dots, we first identify the core
problems and research trends related to RWSN such as connectivity,
localization, routing, and robust flow of information. Next, we classify the
existing research on RWSN as well as the relevant state-of-the-arts from
robotics and WSN community according to the problems and trends identified in
the first step. Lastly, we analyze what is missing in the existing literature,
and identify topics that require more research attention in the future
SNAP: Stateful Network-Wide Abstractions for Packet Processing
Early programming languages for software-defined networking (SDN) were built
on top of the simple match-action paradigm offered by OpenFlow 1.0. However,
emerging hardware and software switches offer much more sophisticated support
for persistent state in the data plane, without involving a central controller.
Nevertheless, managing stateful, distributed systems efficiently and correctly
is known to be one of the most challenging programming problems. To simplify
this new SDN problem, we introduce SNAP.
SNAP offers a simpler "centralized" stateful programming model, by allowing
programmers to develop programs on top of one big switch rather than many.
These programs may contain reads and writes to global, persistent arrays, and
as a result, programmers can implement a broad range of applications, from
stateful firewalls to fine-grained traffic monitoring. The SNAP compiler
relieves programmers of having to worry about how to distribute, place, and
optimize access to these stateful arrays by doing it all for them. More
specifically, the compiler discovers read/write dependencies between arrays and
translates one-big-switch programs into an efficient internal representation
based on a novel variant of binary decision diagrams. This internal
representation is used to construct a mixed-integer linear program, which
jointly optimizes the placement of state and the routing of traffic across the
underlying physical topology. We have implemented a prototype compiler and
applied it to about 20 SNAP programs over various topologies to demonstrate our
techniques' scalability
- …