A fast algorithm for particle simulations
Journal of Computational Physics
Fine-grained mobility in the Emerald system
ACM Transactions on Computer Systems (TOCS)
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
The definition of Standard ML
A comparison of sorting algorithms for the connection machine CM-2
SPAA '91 Proceedings of the third annual ACM symposium on Parallel algorithms and architectures
ESOP'92 Symposium proceedings on 4th European symposium on programming
Parallel programming in Split-C
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
Supporting dynamic data structures on distributed-memory machines
ACM Transactions on Programming Languages and Systems (TOPLAS)
Software caching and computation migration in Olden
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
Olden: parallelizing programs with dynamic data structures on distributed-memory machines
Olden: parallelizing programs with dynamic data structures on distributed-memory machines
Searching for the sorting record: experiences in tuning NOW-Sort
SPDT '98 Proceedings of the SIGMETRICS symposium on Parallel and distributed tools
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
A multigrid tutorial: second edition
A multigrid tutorial: second edition
The Java Language Specification
The Java Language Specification
Parallel Symbolic Computing in Cid
PSLS '95 Proceedings of the International Workshop on Parallel Symbolic Languages and Systems
The complexity of subtype entailment for simple types
LICS '97 Proceedings of the 12th Annual IEEE Symposium on Logic in Computer Science
Active Message Applications Programming Interface
Active Message Applications Programming Interface
Type Systems for Distributed Data Structures
Type Systems for Distributed Data Structures
A finite-difference domain decomposition method using local corrections for the solution of poisson's equation
Mobile values, new names, and secure communication
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Analysis of Multithreaded Programs
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
A performance analysis of the Berkeley UPC compiler
ICS '03 Proceedings of the 17th annual international conference on Supercomputing
Flow-insensitive type qualifiers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compilation for explicitly managed memory hierarchies
Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming
Productivity and performance using partitioned global address space languages
Proceedings of the 2007 international workshop on Parallel symbolic computation
Parallel Languages and Compilers: Perspective From the Titanium Experience
International Journal of High Performance Computing Applications
Type inference for locality analysis of distributed data structures
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
Problems with using MPI 1.1 and 2.0 as compilation targets for parallel language implementations
International Journal of High Performance Computing and Networking
A type system for the automatic distribution of higher-order synchronous dataflow programs
Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems
Type systems for distributed data sharing
SAS'03 Proceedings of the 10th international conference on Static analysis
Titanium performance and potential: an NPB experimental study
LCPC'05 Proceedings of the 18th international conference on Languages and Compilers for Parallel Computing
A proof system for a PGAS language
Concurrency, Compositionality, and Correctness
A modal language for the safety of mobile values
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
More dependent types for distributed arrays
Higher-Order and Symbolic Computation
ICCSA'12 Proceedings of the 12th international conference on Computational Science and Its Applications - Volume Part IV
Hierarchical pointer analysis for distributed programs
SAS'07 Proceedings of the 14th international conference on Static Analysis
Hi-index | 0.00 |
Distributed-memory programs are often written using a global address space: any process can name any memory location on any processor. Some languages completely hide the distinction between local and remote memory, simplifying the programming model at some performance cost. Other languages give the programmer more explicit control, offering better potential performance but sacrificing both soundness and ease of use.Through a series of progressively richer type systems, we formalize the complex issues surrounding sound computation with explicitly distributed data structures. We then illustrate how type inference can subsume much of this complexity, letting programmers work at whatever level of detail is needed. Experiments conducted with the Titanium programming language show that this can result in easier development and significant performance improvements over manual optimization of local and global memory.