Have I done enough planning or should I plan more?
People's decisions about how to allocate their limited computational
resources are essential to human intelligence. An important component of this
metacognitive ability is deciding whether to continue thinking about what to do
and move on to the next decision. Here, we show that people acquire this
ability through learning and reverse-engineer the underlying learning
mechanisms. Using a process-tracing paradigm that externalises human planning,
we find that people quickly adapt how much planning they perform to the cost
and benefit of planning. To discover the underlying metacognitive learning
mechanisms we augmented a set of reinforcement learning models with
metacognitive features and performed Bayesian model selection. Our results
suggest that the metacognitive ability to adjust the amount of planning might
be learned through a policy-gradient mechanism that is guided by metacognitive
pseudo-rewards that communicate the value of planning.
Industrial Edge-based Cyber-Physical Systems -- Application Needs and
Concerns for Realization
Industry is moving towards advanced Cyber-Physical Systems (CPS), with trends
in smartness, automation, connectivity and collaboration. We examine the
drivers and requirements for the use of edge computing in critical industrial
applications. Our purpose is to provide a better understanding of industrial
needs and to initiate a discussion on what role edge computing could take,
complementing current industrial and embedded systems, and the cloud. Four
domains are chosen for analysis with representative use-cases; manufacturing,
transportation, the energy sector and networked applications in the defense
domain. We further discuss challenges, open issues and suggested directions
that are needed to pave the way for the use of edge computing in industrial
CPS.
Lock-Free Locks Revisited
This paper presents a new and practical approach to lock-free locks based on
helping, which allows the user to write code using fine-grained locks, but run
it in a lock-free manner.
Although lock-free locks have been suggested in the past, they are widely
viewed as impractical, have some key limitations, and, as far as we know, have
never been implemented. The paper presents some key techniques that make
lock-free locks practical and more general. The most important technique is an
approach to idempotence -- i.e. making code that runs multiple times appear as
if it ran once. The idea is based on using a shared log among processes running
the same protected code. Importantly, the approach can be library based,
requiring very little if any change to standard code -- code just needs to use
the idempotent versions of memory operations (load, store, LL/SC, allocation,
free).
We have implemented a C++ library called Flock based on the ideas. Flock
allows lock-based data structures to run in either lock-free or blocking
(traditional locks) mode. We implemented a variety of tree and list-based data
structures with Flock and compare the performance of the lock-free and blocking
modes under a variety of workloads. The lock-free mode is almost as fast as
blocking mode under almost all workloads, and significantly faster when threads
are oversubscribed (more threads than processors). We also compare with several
existing lock-based and lock-free alternatives.
Secure Time-Sensitive Software-Defined Networking in Vehicles
Current designs of future In-Vehicle Networks (IVN) prepare for switched
Ethernet backbones, which can host advanced LAN technologies such as IEEE
Time-Sensitive Networking (TSN) and Software-Defined Networking (SDN). In this
work, we present an integrated Time-Sensitive Software-Defined Networking
(TSSDN) architecture that simultaneously enables control of synchronous and
asynchronous real-time and best-effort traffic for all IVN traffic classes
using a central SDN controller. We validate that the control overhead of SDN
can be added without a delay penalty for TSN traffic, provided protocols are
properly mapped. Based on our TSSDN concept, we demonstrate adaptable and
reliable network security mechanisms for in-vehicle communication. We
systematically investigate different strategies for integrating in-vehicle
control flows with switched Ether-networks and analyze their security
implications for a software-defined IVN. We discuss embeddings of control flow
identifiers on different layers, covering a range from a fully exposed mapping
to deep encapsulations. We experimentally evaluate these strategies in a
production vehicle which we map to a modern Ethernet topology. Our findings
indicate that visibility of automotive control flows on lower network layers is
essential for providing isolation and access control throughout the network
infrastructure. Such a TSSDN backbone can establish and survey trust zones
within the IVN and reduce the attack surface of connected cars in various
attack scenarios.
A Priority-Aware Multiqueue NIC Design
Low-level embedded systems are used to control cyber-phyiscal systems in
industrial and autonomous applications. They need to meet hard real-time
requirements as unanticipated controller delays on moving machines can have
devastating effects. Modern developments such as the industrial Internet of
Things and autonomous machines require these devices to connect to large IP
networks. Since Network Interface Controllers (NICs) trigger interrupts for
incoming packets, real-time embedded systems are subject to unpredictable
preemptions when connected to such networks.
In this work, we propose a priority-aware NIC design to moderate
network-generated interrupts by mapping IP flows to processes and based on
that, consolidates their packets into different queues. These queues apply
priority-dependent interrupt moderation. First experimental evaluations show
that 93% of interrupts can be saved leading to an 80% decrease of processing
delay of critical tasks in the configurations investigated.