User loginNavigation |
Concurrent Clustered ProgrammingIt's been a while since the last LtU link to Vijay Saraswat papers. Concurrent Clustered Programming We present the concurrency and distribution primitives of X10, a modern, statically typed, class-based object-oriented (OO) programming language, designed for high productivity programming of scalable applications on high-end machines. The basic move in the X10 programming model is to reify locality through a notion of place, which hosts multiple data items and activities that operate on them. Aggregate objects (such as arrays) may be distributed across multiple places. Activities may dynamically spawn new activities in mulitple places and sequence them through a finish operation that detects termination of activities. Atomicity is obtained through the use of atomic blocks. Activities may repeatedly detect quiescence of a data-dependent collection of (distributed) activities through a notion of clocks, generalizing barriers. Thus X10 has a handful of orthogonal constructs for space, time, sequencing and atomicity. X10 smoothly combines and generalizes the current dominant paradigms for shared memory computing and message passing. We present a bisimulation-based operational semantics for X10 building on the formal semantics for "Middleweight Java''. We establish the central theorem of X10: programs without conditional atomic blocks do not deadlock.To appear in the Proceedings of CONCUR, August 2005. [on edit: added missing link, sorry] |
Browse archivesActive forum topics |
Recent comments
1 week 20 hours ago
1 week 4 days ago
6 weeks 5 days ago
6 weeks 6 days ago
18 weeks 6 days ago
19 weeks 12 hours ago
19 weeks 1 day ago
19 weeks 1 day ago
19 weeks 6 days ago
19 weeks 6 days ago