Carlisle, 1996 - Google Patents
Olden: parallelizing programs with dynamic data structures on distributed-memory machinesCarlisle, 1996
View PS- Document ID
- 14876548992089183942
- Author
- Carlisle M
- Publication year
External Links
Snippet
The goal of the Olden project is to build a system that provides parallelism for general- purpose C programs with minimal programmer annotations. We focus on programs using dynamic structures such as trees, lists, and DAGs. We describe a programming and …
- 230000005012 migration 0 abstract description 150
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
- G06F8/4442—Reducing the number of cache misses; Data prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
- G06F8/437—Type checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/44—Arrangements for executing specific programmes
- G06F9/4421—Execution paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/30—Information retrieval; Database structures therefor; File system structures therefor
- G06F17/30286—Information retrieval; Database structures therefor; File system structures therefor in structured data stores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/50—Computer-aided design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a programme unit and a register, e.g. for a simultaneous processing of several programmes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Carlisle | Olden: parallelizing programs with dynamic data structures on distributed-memory machines | |
| Carlisle et al. | Software caching and computation migration in Olden | |
| Hall et al. | Mapping irregular applications to DIVA, a PIM-based data-intensive architecture | |
| Rogers et al. | Supporting dynamic data structures on distributed-memory machines | |
| Carr | Memory-hierarchy management | |
| Zorn | Comparative performance evaluation of garbage collection algorithms | |
| Kennedy et al. | Automatic data layout for distributed-memory machines | |
| Krishnamurthy et al. | Analyses and optimizations for shared address space programs | |
| Chase et al. | Paragon: A parallel programming environment for scientific applications using communication structures | |
| Artigues et al. | Evaluation of performance portability frameworks for the implementation of a particle‐in‐cell code | |
| Marongiu et al. | An OpenMP compiler for efficient use of distributed scratchpad memory in MPSoCs | |
| Amarasinghe | Parallelizing compiler techniques based on linear inequalities | |
| Feeley | An efficient and general implementation of futures on large scale shared-memory multiprocessors | |
| Moreira | On the implementation and effectiveness of autoscheduling for shared-memory multiprocessors | |
| Chilimbi | Cache-conscious data structures: design and implementation | |
| Ngo | The role of performance models in parallel programming and languages | |
| Rogers et al. | Supporting SPMD execution for dynamic data structures | |
| Inagaki et al. | Supporting software distributed shared memory with an optimizing compiler | |
| da Silva | An Implementation of Or-Parallel Prolog on a Distributed Shared Memory Architecture | |
| Hughes | Prefetching linked data structures in systems with merged dram-logic | |
| Chandra | The COOL parallel programming language: design, implementation, and performance | |
| Chaiken | Mechanisms and Interfaces for Software-Extended Coherent Shared Memory | |
| Chen et al. | AceMesh: a structured data driven programming language for high performance computing | |
| Reinhardt | Mechanisms for distributed shared memory | |
| Papadimitriou et al. | Exploring thread-level speculation in software: The effects of memory access tracking granularity |