88 research outputs found
An in-depth analysis of system-level techniques for Simultaneous Multi-threaded Processors in Clouds
To improve the overall system utilization, Simultaneous Multi-Threading (SMT) has become a norm in clouds. Usually, Hardware threads are viewed and deployed directly as physical cores for attempts to improve resource utilization and system throughput. However, context switches in virtualized systems might incur severe resource waste, which further led to significant performance degradation. Worse, virtualized systems suffer from performance variations since the rescheduled vCPU may affect other hardware threads on the same physical core. In this paper, we perform an in-depth experimental study about how existing system software techniques improves the utilization of SMT Processors in Clouds. Considering the default Linux hypervisor vanilla KVM as the baseline, we evaluated two update-to-date kernel patches IdlePoll and HaltPoll through the combination of 14 real-world workloads. Our results show that mitigating they could significantly mitigate the number of context switches, which further improves the overall system throughput and decreases its latency. Based on our findings, we summarize key lessons from the previous wisdom and then discuss promising directions to be explored in the future
Exploiting loop transformations for the protection of software
Il software conserva la maggior parte del know-how che occorre per svilupparlo. Poich\ue9 oggigiorno il software pu\uf2 essere facilmente duplicato e ridistribuito ovunque, il rischio che la propriet\ue0 intellettuale venga violata su scala globale \ue8 elevato. Una delle pi\uf9 interessanti soluzioni a questo problema \ue8 dotare il software di un watermark. Ai watermark si richiede non solo di certificare in modo univoco il proprietario del software, ma anche di essere resistenti e pervasivi. In questa tesi riformuliamo i concetti di robustezza e pervasivit\ue0 a partire dalla semantica delle tracce. Evidenziamo i cicli quali costrutti di programmazione pervasivi e introduciamo le trasformazioni di ciclo come mattone di costruzione per schemi di watermarking pervasivo. Passiamo in rassegna alcune fra tali trasformazioni, studiando i loro principi di base. Infine, sfruttiamo tali principi per costruire una tecnica di watermarking pervasivo. La robustezza rimane una difficile, quanto affascinante, questione ancora da risolvere.Software retains most of the know-how required fot its development. Because nowadays software can be easily cloned and spread worldwide, the risk of intellectual property infringement on a global scale is high. One of the most viable solutions to this problem is to endow software with a watermark. Good watermarks are required not only to state unambiguously the owner of software, but also to be resilient and pervasive. In this thesis we base resiliency and pervasiveness on trace semantics. We point out loops as pervasive programming constructs and we introduce loop transformations as the basic block of pervasive watermarking schemes. We survey several loop transformations, outlining their underlying principles. Then we exploit these principles to build some pervasive watermarking techniques. Resiliency still remains a big and challenging open issue
STRETCH: Virtual Shared-Nothing Parallelism for Scalable and Elastic Stream Processing
Stream processing applications extract value from raw data through Directed
Acyclic Graphs of data analysis tasks. Shared-nothing (SN) parallelism is the
de-facto standard to scale stream processing applications. Given an
application, SN parallelism instantiates several copies of each analysis task,
making each instance responsible for a dedicated portion of the overall
analysis, and relies on dedicated queues to exchange data among connected
instances. On the one hand, SN parallelism can scale the execution of
applications both up and out since threads can run task instances within and
across processes/nodes. On the other hand, its lack of sharing can cause
unnecessary overheads and hinder the scaling up when threads operate on data
that could be jointly accessed in shared memory. This trade-off motivated us in
studying a way for stream processing applications to leverage shared memory and
boost the scale up (before the scale out) while adhering to the widely-adopted
and SN-based APIs for stream processing applications.
We introduce STRETCH, a framework that maximizes the scale up and offers
instantaneous elastic reconfigurations (without state transfer) for stream
processing applications. We propose the concept of Virtual Shared-Nothing (VSN)
parallelism and elasticity and provide formal definitions and correctness
proofs for the semantics of the analysis tasks supported by STRETCH, showing
they extend the ones found in common Stream Processing Engines. We also provide
a fully implemented prototype and show that STRETCH's performance exceeds that
of state-of-the-art frameworks such as Apache Flink and offers, to the best of
our knowledge, unprecedented ultra-fast reconfigurations, taking less than 40
ms even when provisioning tens of new task instances
Estudio de técnicas de inserción de marcas de agua sobre software
Este trabajo es un estudio de las distintas técnicas de software watermarking existentes para la protección de la propiedad intelectual contenida en un programa. Partiendo de este estudio se propone una implementación para usar técnicas watermarking en la protección de agentes móviles. Concretamente se implementa una solución para detectar ejecuciones deshonestas por parte de host malicioso
- …