10 research outputs found

    Object co-location and memory reuse for Java programs

    Get PDF
    postprin

    Scalable locality-conscious multithreaded memory allocation

    Full text link

    Détection de structures cohérentes dans des écoulements fluides et interfaces homme-machine pour l'exploration et la visualisation interactive de données scientifiques

    Get PDF
    Depuis l'identification par Brown \& Roshko, en 1974, de structures jouant un rôle majeur dans le mélange d'un écoulement turbulent, la recherche de structures cohérentes a été un des principaux axes d'étude en mécanique des fluides.Les travaux présentés dans ce manuscrit s'inscrivent dans cette voie.La première partie du manuscrit traite ainsi de l'identification de structures cohérentes. Elle se compose de trois chapitres abordant deux techniques d identification. La Décomposition en mode dynamique (DMD), ainsi que des variantes généralisant son champ applicatif est présenté dans le premier chapitre. Cette méthode propose une représentation par modes spatiaux et temporels d'un ensemble de données. Une méthode pour la sélection de composantes particulièrement représentatives de la dynamique, i.e. présentant de bonnes qualités d'observabilité, se basant sur cette décomposition est également décrite dans ce chapitre.Le deuxième chapitre traite de la détection de structures cohérentes lagrangienne, par suivi de particules. Ces structures permettent d'identifier les frontières matérielles et apportent des éclaircissements sur les mécanismes du mélange au sein de l'écoulement considéré.Ces méthodes sont appliquées, dans le chapitre trois, au cas d un écoulement incompressible affleurant une cavité ouverte.La seconde partie du manuscrit traite des questions de représentation et discrimination de données scientifiques.Une réponse à la question de la représentation de structures cohérentes a été la mise en place d'outils permettant la visualisation interactive de jeux de données scientifiques, qui dont la présentation fait l'objet du chapitre quatre. En particulier, l'utilisation d'objets tangibles, représentant les données dans le monde réel, permet une exploration plus efficace des ensembles de volumétriques de données scientifiques. La question d'une perception et discrimination efficace de données représentées, e.g. la différentiation entre deux valeurs proches, est abordée dans le cinquième chapitre.Brown \& Roshko identify the key role, as soon as 1974, of coherent structures in the mixing of a turbulenet jet. Since, the seek for coherent structures has been a major field in fluid mechanics. This manuscript follows this path, and aims at describing algorithm to compute and explore coherent structures from fluid mechanics dataset.The first part of this manuscript is dedicated to present algorithms for the computations of coherent structures from dataset. The first chapter exposes the Dynamical Modes Decomposition, and presents improvements of the method. A criterion to estimate the observability properties of components of the state vector is also presented.The second chapter aims at describing an efficient algorithm to compute Lagrangian Coherent Structures, which are somewhat equivalent to material frontiers in fluid flows, and highlight mixing dynamics.This methods are applied, in a third chapter, to caracterize the dynamics of an open cavity flow.The second parti of this manuscript is dedicated to the representation and discrimination of scientific dataset.The fourth chapter presents metaphors for the interactive exploration of scientific and volumetric dataset. The use of tangible interfaces is investigated. The last chapter deals with the differenciation between represented data, by proposing an algorithm for the differenciation between close but different signals.PARIS11-SCD-Bib. électronique (914719901) / SudocSudocFranceF

    Using Class-Level Static Properties to Predict Object Lifetimes

    Get PDF
    Today, most modern programming languages such as C # or Java use an automatic memory management system also known as a Garbage Collector (GC). Over the course of program execution, new objects are allocated in memory, and some older objects become unreachable (die). In order for the program to keep running, it becomes necessary to free the memory of dead objects; this task is performed periodically by the GC. Research has shown that most objects die young and as a result, generational collectors have become very popular over the years. Yet, these algorithms are not good at handling long-lived objects. Typically, long-lived objects would first be allocated in the nursery space and be promoted (copied) to an older generation after surviving a garbage collection, hence wasting precious time. By allocating long-lived and immortal objects directly into infrequently or never collected regions, pretenuring can reduce garbage collection costs significantly. Current state of the art methodology to predict object lifetime involves off-line profiling combined with a simple, heuristic classification. Profiling is slow (can take days), requires gathering gigabytes of data that need to be analysed (can take hours), and needs to be repeated for every previously unseen program. This thesis explores the space of lifetime predictions and shows how object lifetimes can be predicted accurately and quickly using simple program characteristics gathered within minutes. Following an innovative methodology introduced in this thesis, object lifetime predictions are fed into a specifically modified Java virtual machine. Performance tests show gains in GC times of as much as 77% for the “SPEC jvm98” benchmarks, against a generational copying collector

    Conception et évaluation de performance d'un Bus applicatif, massivement parallèle et orienté service.

    Get PDF
    Enterprise Service Bus (ESB) est actuellement l'approche la plus prometteuse pour l'implémentation d'une architecture orientée services (SOA : Service-Oriented Architecture) par l'intégration des différentes applications isolées dans une plateforme centralisée. De nombreuses solutions d'intégration à base d'ESB on été proposées, elles sont soit open-source comme : Mule, Petals, ou encore Fuse, soit propriétaires tels que : Sonic ESB, IBM WebSphere Message Broker, ou Oracle ESB. Cependant, il n'en existe aucune en mesure de traiter, à la fois des aspects : d'intégration et de traitement massivement parallèle, du moins à notre connaissance. L'intégration du parallélisme dans le traitement est un moyen de tirer profit des technologies multicœurs/multiprocesseurs qui améliorent considérablement les performances des ESBs.Toutefois, cette intégration est une démarche complexe et soulève des problèmes à plusieurs niveaux : communication, synchronisation, partage de données, etc.Dans cette thèse, nous présentons l'étude d'une nouvelle architecture massivement parallèle de type ESB.Enterprise service bus (ESB) is currently the most promising approach for business application integration in distributed and heterogeneous environments. It allows to deploy a service-oriented architecture (SOA) by the integration of all the isolated applications on a decentralized platform.Several commercial or open source ESB-based solutions have been proposed. However, to the best of our knowledge, none of these solutions has integrated the parallel processing. The integration of parallelism in the treatment allows to take advantage of the multicore/multiprocessor technologies and thus can improve greatly the ESB performance. However, this integration is difficult to achieve, and poses problems at multiple levels (communication, synchronization, etc). In this study, we present a new massively parallel ESB architecture that meets this challenge.PARIS-CNAM (751032301) / SudocSudocFranceF

    Improving the Cache Locality of Memory Allocation

    No full text
    The allocation and disposal of memory is a ubiquitous operation in most programs. Rarely do programmers concern themselves with details of memory allocators; most assume that memory allocators provided by the system perform well. This paper presents a performance evaluation of the reference locality of dynamic storage allocation algorithms based on trace-driven simulation of five large allocation-intensive C programs. In this paper, we show how the design of a memory allocator can significantly affect the reference locality for various applications. Our measurements show that poor locality in sequential-fit allocation algorithms reduces program performance, both by increasing paging and cache miss rates. While increased paging can be debilitating on any architecture, cache misses rates are also important for modern computer architectures. We show that algorithms attempting to be space-efficient by coalescing adjacent free objects show poor reference locality, possibly negating the benef..
    corecore