No abstract available.
Proceeding Downloads
Bounded incoherence: a programming model for non-cache-coherent shared memory architectures
Cache coherence in modern computer architectures enables easier programming by sharing data across multiple processors. Unfortunately, it can also limit scalability due to cache coherency traffic initiated by competing memory accesses. Rack-scale ...
ELSE: an efficient link-time static instrumentation tool for embedded system
Unlike general systems, hardware and software of embedded systems are usually customized for specific purposes and many of them are real-time systems. With time changing, their workloads are also changing rapidly and maintaining their software becomes a ...
TardisTM: incremental repair for transactional memory
Transactional memory (TM) provides developers with a transaction primitive for concurrent code execution that transparently checks for concurrency conflicts. When such a conflict is detected, the system recovers by aborting and restarting the ...
Self-adjusting task granularity for Global load balancer library on clusters of many-core processors
Achieving load balance is a challenge for irregular applications. Balancing runtimes and libraries aim at relieving the programmer from this difficult task by proposing a layer of abstraction between the computation at hand and the hardware used to ...
Towards a portable hierarchical view of distributed shared memory systems: challenges and solutions
An ever-growing diversity in the architecture of modern super-computers has led to challenges in developing scientific software. Utilizing heterogeneous and disruptive architectures (e.g., off-chip and, in the near future, on-chip accelerators) has ...
Lock-free transactional vector
The vector is a fundamental data structure, offering constant-time traversal to elements and a dynamically resizable range of indices. While several concurrent vectors exist, a composition of concurrent vector operations dependent on each other can lead ...
Exploring accelerator and parallel graph algorithmic choices for temporal graphs
Many real-world systems utilize graphs that are time-varying in nature, where edges appear and disappear with respect to time. Moreover, the weights of different edges are also a function of time. Various conventional graph algorithms, such as single ...
Generating energy-efficient code for parallel applications specified by streaming task graphs with dynamic elements
Streaming task graphs are a high-level construct used to specify parallel applications operating on streams of data, and energy-efficient code meeting data throughput requirements can be generated automatically. Tasks can be parallel themselves, so that ...
Index Terms
Proceedings of the Eleventh International Workshop on Programming Models and Applications for Multicores and Manycores



