3,372 research outputs found

    RIM: Reconfigurable Instruction Memory Hierarchy for Embedded Systems

    Get PDF
    Ph.DDOCTOR OF PHILOSOPH

    Faire justice en matière de logement : un processus inachevé à l’épreuve du néolibéralisme en Roumanie

    Get PDF
    International audienceConsidering that housing is at the core of spatial injustice and territorial unevenness, our article analyses injustice as a result of housing policies functioning at the crossroads of the local, national, and transnational level. It demonstrates that the externalization of state accountability in what regards housing, to some project-based interventions aggravates this injustice. We demonstrate how are these broader processes functioning locally, through the empirical material collected in Romania under the RELOCAL research. Here we are focusing on two instances of spatial injustice and actions to tackle them: the Pata Cluj project aiming to desegregate the Pata Rât area of Cluj-Napoca, and a legalization project implemented in the Mălin district of Codlea.Partant du constat que le logement est au cœur de l’injustice spatiale et des disparités territoriales, cet article propose d’analyser l’injustice comme le produit de politiques de logement qui s’inscrivent à l’intersection du local, du national et du transnational. Nous démontrons ici qu’en matière de logement, externaliser la responsabilité (accountability) de l’État à des interventions sur projet aggrave ce type d’injustice. À partir de données empiriques collectées dans le cadre du projet de recherche RELOCAL, nous montrons comment ces processus de grande ampleur se traduisent localement, à travers deux exemples et deux actions de lutte relatifs à l’injustice spatiale : le projet Pata Cluj, qui vise à dé-ségréguer le lieu-dit de Pata Rât à Cluj Napoca ; et le projet de légalisation mis en œuvre à Mălin, un quartier de la ville de Codlea

    A Safety-First Approach to Memory Models.

    Full text link
    Sequential consistency (SC) is arguably the most intuitive behavior for a shared-memory multithreaded program. It is widely accepted that language-level SC could significantly improve programmability of a multiprocessor system. However, efficiently supporting end-to-end SC remains a challenge as it requires that both compiler and hardware optimizations preserve SC semantics. Current concurrent languages support a relaxed memory model that requires programmers to explicitly annotate all memory accesses that can participate in a data-race ("unsafe" accesses). This requirement allows compiler and hardware to aggressively optimize unannotated accesses, which are assumed to be data-race-free ("safe" accesses), while still preserving SC semantics. However, unannotated data races are easy for programmers to accidentally introduce and are difficult to detect, and in such cases the safety and correctness of programs are significantly compromised. This dissertation argues instead for a safety-first approach, whereby every memory operation is treated as potentially unsafe by the compiler and hardware unless it is proven otherwise. The first solution, DRFx memory model, allows many common compiler and hardware optimizations (potentially SC-violating) on unsafe accesses and uses a runtime support to detect potential SC violations arising from reordering of unsafe accesses. On detecting a potential SC violation, execution is halted before the safety property is compromised. The second solution takes a different approach and preserves SC in both compiler and hardware. Both SC-preserving compiler and hardware are also built on the safety-first approach. All memory accesses are treated as potentially unsafe by the compiler and hardware. SC-preserving hardware relies on different static and dynamic techniques to identify safe accesses. Our results indicate that supporting SC at the language level is not expensive in terms of performance and hardware complexity. The dissertation also explores an extension of this safety-first approach for data-parallel accelerators such as Graphics Processing Units (GPUs). Significant microarchitectural differences between CPU and GPU require rethinking of efficient solutions for preserving SC in GPUs. The proposed solution based on our SC-preserving approach performs nearly on par with the baseline GPU that implements a data-race-free-0 memory model.PhDComputer Science and EngineeringUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttp://deepblue.lib.umich.edu/bitstream/2027.42/120794/1/ansingh_1.pd

    On Extracting Course-Grained Function Parallelism from C Programs

    Get PDF
    To efficiently utilize the emerging heterogeneous multi-core architecture, it is essential to exploit the inherent coarse-grained parallelism in applications. In addition to data parallelism, applications like telecommunication, multimedia, and gaming can also benefit from the exploitation of coarse-grained function parallelism. To exploit coarse-grained function parallelism, the common wisdom is to rely on programmers to explicitly express the coarse-grained data-flow between coarse-grained functions using data-flow or streaming languages. This research is set to explore another approach to exploiting coarse-grained function parallelism, that is to rely on compiler to extract coarse-grained data-flow from imperative programs. We believe imperative languages and the von Neumann programming model will still be the dominating programming languages programming model in the future. This dissertation discusses the design and implementation of a memory data-flow analysis system which extracts coarse-grained data-flow from C programs. The memory data-flow analysis system partitions a C program into a hierarchy of program regions. It then traverses the program region hierarchy from bottom up, summarizing the exposed memory access patterns for each program region, meanwhile deriving a conservative producer-consumer relations between program regions. An ensuing top-down traversal of the program region hierarchy will refine the producer-consumer relations by pruning spurious relations. We built an in-lining based prototype of the memory data-flow analysis system on top of the IMPACT compiler infrastructure. We applied the prototype to analyze the memory data-flow of several MediaBench programs. The experiment results showed that while the prototype performed reasonably well for the tested programs, the in-lining based implementation may not efficient for larger programs. Also, there is still room in improving the effectiveness of the memory data-flow analysis system. We did root cause analysis for the inaccuracy in the memory data-flow analysis results, which provided us insights on how to improve the memory data-flow analysis system in the future
    corecore