11 research outputs found

    Sparse Transfer Learning for Interactive Video Search Reranking

    Get PDF
    Visual reranking is effective to improve the performance of the text-based video search. However, existing reranking algorithms can only achieve limited improvement because of the well-known semantic gap between low level visual features and high level semantic concepts. In this paper, we adopt interactive video search reranking to bridge the semantic gap by introducing user's labeling effort. We propose a novel dimension reduction tool, termed sparse transfer learning (STL), to effectively and efficiently encode user's labeling information. STL is particularly designed for interactive video search reranking. Technically, it a) considers the pair-wise discriminative information to maximally separate labeled query relevant samples from labeled query irrelevant ones, b) achieves a sparse representation for the subspace to encodes user's intention by applying the elastic net penalty, and c) propagates user's labeling information from labeled samples to unlabeled samples by using the data distribution knowledge. We conducted extensive experiments on the TRECVID 2005, 2006 and 2007 benchmark datasets and compared STL with popular dimension reduction algorithms. We report superior performance by using the proposed STL based interactive video search reranking.Comment: 17 page

    Resource accounting and reservation in Java Virtual Machine

    Get PDF
    The Java platform The Java programming language was designed to developed small application for embedded devices, but it was a long time ago. Today, Java application are running in many platforms ranging from smartphones to enterprise servers. Modern pervasive middleware is typically implemented using Java because of its safety, flexibility, and mature development environment. However, the Java virtual machine specification has not had a major revised since 1999 Several researches had addressed these important issues. As result of these efforts some Java specification requests (JSR) have emerged. We consider there are seven JSRs relate to monitoring and to resource accounting and reservation: three for the Java Management eXtension API (JSRs 3, 160, 255), two for Metric Instrumentation (JSRs 138, 174) and two for resource-consumption management (JSRs 121, 284). The Java Management extension API only addresses monitoring and management: it does not define specific resource accounting or reservation strategies. JSRs 138 and 174 define monitors for the Java Virtual Machine. They are coarse grained, monitoring the number of running threads, the memory used, the number of garbage collections and so on. They monitor the entire virtual machine, not specific component so, they are useless to most middleware. Based on the Multitasking Virtual Machin

    Designing resource-aware distriubted system based on system level containers

    Get PDF
    International audienceResource management is critical for application domains where components share their execution environments but belong to dif-ferent stakeholders, such as smart homes or cloud systems. Yet, current middleware and application containers often hide system-level details needed for dynamic resource management. In particular, they tend to hide resource usage by offering automatic management of these resources (e.g., CPU, memory and I/O). In contrast, system-level containers, such as Linux Containers (LXC), allow fine-grain resource management. How-ever, they lack knowledge about the application's structure and its re-quirements in order to provide fine tuned resource management. In this tutorial, we will expose Squirrel: a new middleware which aims at combining the benefits from the component based software engineering to design flexible and modular application and the system level contain-ers to manage resources. Squirrel follows an approach where develop-ers specifies contracts on components and connections to describe the expected behavior of their application regarding resource consumption. These high level contracts are then used to automatically configure the system level containers which will hosts the running applications. At the end of this tutorial, applicants will be able to design applications and contracts using Squirrel and run their application inside system level containers to ensure a correct behavior of their application regarding resource consumption

    «Conscient des ressources» supportĂ© par des environnements d’exĂ©cution adaptĂ©s

    Get PDF
    Software systems are more pervasive than ever nowadays. Occasionally, applications runon top of resource-constrained devices where efficient resource management is required;hence, they must be capable of coping with such limitations. However, applicationsrequire support from the runtime environment to properly deal with resource limitations. This thesis addresses the problem of supporting resource-aware programming inexecution environments. In particular, it aims at offering efficient support for collecting data about the consumption of computational resources (e.g., CPU, memory), aswell as efficient mechanisms to reserve resources for specific applications. In existingsolutions we find two important drawbacks. First, they impose performance overheadon the execution of applications. Second, creating resource management tools for theseabstractions is still a daunting task. The outcomes of this thesis are three contributions:‱ An optimistic resource monitoring framework that reduces the cost of collectingresource consumption data.‱ A methodology to select components’ bindings at deployment time in order toperform resource reservation.‱ A language to build customized memory profilers that can be used both duringapplications’ development, and also in a production environment.Aujourd’hui, les systĂšmes logiciels sont omniprĂ©sents. Parfois, les applications doiventfonctionner sur des dispositifs Ă  ressources limitĂ©es. Toutefois, les applications nĂ©ces-sitent un support d’exĂ©cution de faire face Ă  de telles limitations. Cette thĂšse abordele problĂšme de la programmation pour crĂ©er des systĂšmes «conscient des ressources»supportĂ© par des environnements d’exĂ©cution adaptĂ©s (MRTEs). En particulier, cettethĂšse vise Ă  offrir un soutien efficace pour recueillir des donnĂ©es sur la consommationde ressources de calcul (par exemple, CPU, mĂ©moire), ainsi que des mĂ©canismes effi-caces pour rĂ©server des ressources pour des applications spĂ©cifiques. Dans les solutionsexistantes, nous trouvons deux inconvĂ©nients importants. Les solutions imposent un im-pact important sur les performances Ă  l’exĂ©cution des applications. La crĂ©ation d’outilspermettant de gĂ©rer finement les ressources pour ces abstractions est encore une tĂąchecomplexe. Les rĂ©sultats de cette thĂšse forment trois contributions:‱ Un cadre de surveillance des ressources optimiste qui rĂ©duit le coĂ»t de la collectedes donnĂ©es de consommation de ressources.‱ Une mĂ©thodologie pour sĂ©lectionner les le support d’exĂ©cution des composants aumoment du dĂ©ploiement afin d’effectuer la rĂ©servation de ressources.‱ Un langage pour construire des profileurs de mĂ©moire personnalisĂ©es qui peuventĂȘtre utilisĂ©s Ă  la fois au cours du dĂ©veloppement des applications, ainsi que dansun environnement de production

    Soutien efficace pour créer des systÚmes «conscient des ressources» sur des environnements d'exécution gérés

    No full text
    Software systems are more pervasive than ever nowadays. Occasionally, applications run on top of resource-constrained devices where efficient resource management is required ; hence, they must be capable of coping with such limitations. However, applications require support from the run-time environment to properly deal with resource limitations. This thesis addresses the problem of supporting resource-aware programming in execution environments. In particular, it aims at offering efficient support for collecting data about the consumption of computational resources (e.g., CPU, memory), as well as efficient mechanisms to reserve resources for specific applications. In existing solutions we find two important drawbacks. First, they impose performance overhead on the execution of applications. Second, creating resource management tools for these abstractions is still a daunting task. The outcomes of this thesis are three contributions: an optimistic resource monitoring framework that reduces the cost of collecting resource consumption data ; a methodology to select components' bindings at deployment time in order to perform resource reservation ; a language to build customized memory profilers that can be used both during applications' development, and also in a production environment.Aujourd'hui, les systĂšmes logiciels sont omniprĂ©sents. Parfois, les applications doivent fonctionner sur des dispositifs Ă  ressources limitĂ©es. Toutefois, les applications nĂ©cessitent un support d'exĂ©cution pour faire face Ă  de telles limitations. Cette thĂšse aborde le problĂšme de la programmation pour crĂ©er des systĂšmes "conscient des ressources" supportĂ© par des environnements d'exĂ©cution adaptĂ©s (MRTEs). En particulier, cette thĂšse vise Ă  offrir un soutien efficace pour recueillir des donnĂ©es sur la consommation de ressources de calcul (par exemple, CPU, mĂ©moire), ainsi que des mĂ©canismes efficaces pour rĂ©server des ressources pour des applications spĂ©cifiques. Dans les solutions existantes, nous trouvons deux inconvĂ©nients importants. Les solutions imposent un impact important sur les performances Ă  l'exĂ©cution des applications. La crĂ©ation d'outils permettant de gĂ©rer finement les ressources pour ces abstractions est encore une tĂąche complexe. Les rĂ©sultats de cette thĂšse forment trois contributions : Un cadre de surveillance des ressources optimiste qui rĂ©duit le coĂ»t de la collecte des donnĂ©es de consommation de ressources ; une mĂ©thodologie pour sĂ©lectionner les le support d'exĂ©cution des composants au moment du dĂ©ploiement afin d’exĂ©cuter la rĂ©servation de ressources ; un langage pour construire des profileurs de mĂ©moire personnalisĂ©es qui peuvent ĂȘtre utilisĂ©s Ă  la fois au cours du dĂ©veloppement des applications, ainsi que dans un environnement de production

    Designing resource-aware distriubted system based on system level containers

    Get PDF
    International audienceResource management is critical for application domains where components share their execution environments but belong to dif-ferent stakeholders, such as smart homes or cloud systems. Yet, current middleware and application containers often hide system-level details needed for dynamic resource management. In particular, they tend to hide resource usage by offering automatic management of these resources (e.g., CPU, memory and I/O). In contrast, system-level containers, such as Linux Containers (LXC), allow fine-grain resource management. How-ever, they lack knowledge about the application's structure and its re-quirements in order to provide fine tuned resource management. In this tutorial, we will expose Squirrel: a new middleware which aims at combining the benefits from the component based software engineering to design flexible and modular application and the system level contain-ers to manage resources. Squirrel follows an approach where develop-ers specifies contracts on components and connections to describe the expected behavior of their application regarding resource consumption. These high level contracts are then used to automatically configure the system level containers which will hosts the running applications. At the end of this tutorial, applicants will be able to design applications and contracts using Squirrel and run their application inside system level containers to ensure a correct behavior of their application regarding resource consumption

    Density and Mobility-driven Evaluation of Broadcast Algorithms for MANETs

    Get PDF
    International audienceBroadcast is a fundamental operation in Mobile Ad-Hoc Networks (MANETs). A large variety of broadcast algorithms have been proposed. They differ in the way message forwarding between nodes is controlled, and in the level of information about the topology that this control requires. Deployment scenarios for MANETs vary widely, in particular in terms of nodes density and mobility. The choice of an algorithm depends on its expected coverage and energy cost, which are both impacted by the deployment context. In this work, we are interested in the comprehensive comparison of the costs and effectiveness of broadcast algorithms for MANETs depending on target environmental conditions. We describe the results of an experimental study of five algorithms, representative of the main design alternatives. Our study reveals that the best algorithm for a given situation, such as a high density and a stable network, is not necessarily the most appropriate for a different situation such as a sparse and mobile network. We identify the algorithms characteristics that are correlated with these differences and discuss the pros and cons of each design

    An Architecture-Based Approach for Compute-Intensive Pervasive Systems in Dynamic Environments

    Get PDF
    International audienceDistributed systems have continued to evolve and we note two important trends: the dramatically increasing level of dynamism in contemporary distributed systems and the convergence of mobile computing with cloud computing. The end result is that it is very difficult to achieve the required level of scalability and dependability in a systematic way when considering pervasive systems that are software-and compute-intensive and whose functionality is typically augmented by static cloud infrastructure resources. This work discusses relevant challenges and requirements for integrating cloud computing with pervasive systems operating in dynamic environments. We present a set of requirements using a holistic case study and describe a reference architecture to address these requirements

    Scapegoat: an Adaptive monitoring framework for Component-based systems

    Get PDF
    International audienceModern component frameworks support continuous deployment and simultaneous execution of multiple software components on top of the same virtual machine. However, isolation between the various components is limited. A faulty version of any one of the software components can compromise the whole system by consuming all available resources. In this paper, we address the problem of efficiently identifying faulty software components running simultaneously in a single virtual machine. Current solutions that perform permanent and extensive monitoring to detect anomalies induce high overhead on the system, and can, by themselves, make the system unstable. In this paper we present an optimistic adaptive monitoring system to determine the faulty components of an application. Suspected components are finely instrumented for deeper analysis by the monitoring system, but only when required. Unsuspected components are left untouched and execute normally. Thus, we perform localized just-in-time monitoring that decreases the accumulated overhead of the monitoring system. We evaluate our approach against a state-of-the-art monitoring system and show that our technique correctly detects faulty components, while reducing overhead by an average of 80%

    ScapeGoat: Spotting abnormal resource usage in component-based reconfigurable software systems

    Get PDF
    International audienceModern component frameworks support continuous deployment and simultaneous execution of multiple software components on top of the same virtual machine. However , isolation between the various components is limited. A faulty version of any one of the software components can compromise the whole system by consuming all available resources. In this paper, we address the problem of efficiently identifying faulty software components running simultaneously in a single virtual machine. Current solutions that perform permanent and extensive monitoring to detect anomalies induce high overhead on the system, and can, by themselves, make the system unstable. In this paper we present an optimistic adaptive monitoring system to determine the faulty components of an application. Suspected components are finely analyzed by the monitoring system, but only when required. Unsuspected components are left untouched and execute normally. Thus, we perform localized just-in-time monitoring that decreases the accumulated overhead of the monitoring system. We evaluate our approach on two case studies against a state-of-the-art monitoring system and show that our technique correctly detects faulty components, while reducing overhead by an average of 93%
    corecore