Magic-Pipe: self-optimizing video analytics pipelines

Microservices-based video analytics pipelines routinely use multiple deep convolutional neural networks. We observe that the best allocation of resources to deep learning engines (or microservices) in a pipeline, and the best configuration of parameters for each engine vary over time, often at a timescale of minutes or even seconds based on the dynamic content in the video. We leverage these observations to develop Magic-Pipe, a self-optimizing video analytic pipeline that leverages AI techniques to periodically self-optimize. First, we propose a new, adaptive resource allocation technique to dynamically balance the resource usage of different microservices, based on dynamic video content. Then, we propose an adaptive microservice parameter tuning technique to balance the accuracy and performance of a microservice, also based on video content. Finally, we propose two different approaches to reduce unnecessary computations due to unavoidable mismatch of independently designed, re-usable deep-learning engines: a deep learning approach to improve the feature extractor performance by filtering inputs for which no features can be extracted, and a low-overhead graph-theoretic approach to minimize redundant computations across frames. Our evaluation of Magic-Pipe shows that pipelines augmented with self-optimizing capability exhibit application response times that are an order of magnitude better than the original pipelines, while using the same hardware resources, and achieving similar high accuracy.

Low-level mapping of key combinations in GNU/Linux (remapping the unremappable)

Keyboard by  ainul muttaqin from the Noun Project This is a "brief" tale about how I used uinput and evdev to remap some keys of my latop's keyboard. Using this "low-level" approach it is possible to remap "unreamappable" key bindings, such as Alt+Right to End or Alt+Left to Home. I've been using, almost exclusively, an … Continue reading Low-level mapping of key combinations in GNU/Linux (remapping the unremappable)

gVirtuS: the first beta release

We are proud to announce the first beta release of gVirtuS. gVirtuS allows an instanced virtual machine to access GPGPUs in a transparent way, with an overhead  slightly greater than a real machine/GPGPU setup. gVirtuS is hypervisor independent, and, even though it currently virtualizes nVIDIA CUDA based GPUs. The software, developed for research applications, is … Continue reading gVirtuS: the first beta release

VMSocket: a mechanism to expose UNIX Sockets in KVM Virtual Machines

VMSocket is a mechanism to expose UNIX Sockets (sockets in AF_UNIX domain) from the host operating system to the KVM's virtual machines. It provides a really fast communication channel between host and guests os. It can ben used for communication that needs to be fast, such as HPC (High Performance Computing) software solutions and so … Continue reading VMSocket: a mechanism to expose UNIX Sockets in KVM Virtual Machines