Synonyms
Definition
Deterministic Parallel Java (DPJ) is a parallel programming language based on Java and developed at the University of Illinois at Urbana-Champaign. DPJ uses a type and effect system to provide deterministic-by-default semantics. “Deterministic” means that for a particular input, a given program always produces the same output, regardless of the parallel schedule chosen. “By default” means that the program is deterministic unless the programmer explicitly requests nondeterministic behavior. DPJ guarantees this semantics at compile time for the programs it can express.
Discussion
Introduction
Many parallel programs are intended to have deterministic behavior. Typically, these programs are transformative: they accept some input, do a computation in memory, and produce some output, in contrast to programs such as servers that accept input throughout the computation. There are many examples of deterministic programs in domains such as scientific computing, graphics,...
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsBibliography
http://gee.cs.oswego.edu/dl/jsr166/dist/extra166ydocs/index.html?extra166y/package-tree.html
Bocchino RL Jr (2010) An effect system and language for deterministic-by-default parallel programming. PhD thesis, University of Illinois, Urbana-Champaign
Bocchino RL Jr, Adve VS, Adve SV, Snir M (2009) Parallel programming must be deterministic by default. In: HOTPAR ’09: USENIX workshop on hot topics in parallelism, Berkeley, March 2009
Bocchino RL Jr, Adve VS, Dig D, Adve SV, Heumann S, Komuravelli R, Overbey J, Simmons P, Sung H, Vakilian M (2009) A type and effect system for deterministic parallel Java. In: OOPSLA ’09: Proceedings of the 24th ACM SIGPLAN conference on object-oriented programming systems, languages, and applications, New York, pp 97–116
Bocchino RL Jr, Heumann S, Honarmand N, Adve S, Adve V, Welc A, Shpeisman T, Ni Y (2011) Safe nondeterminism in a deterministic-by-default parallel language. In: POPL ’11: Proceedings of the 38th ACM SIGACT-SIGPLAN symposium on principles of programming languages, New York
Cameron NR, Drossopoulou S, Noble J, Smith MJ (2007) Multiple ownership. In: OOPSLA ’07: Proceedings of the 22nd ACM SIGPLAN conference on object-oriented programming systems and applications, New York, pp 441–460
Clarke D, Drossopoulou S (2002) Ownership, encapsulation and the disjointness of type and effect. In: OOPSLA ’02: Proceedings of the 17th ACM SIGPLAN conference on object-oriented programming, systems, languages, and applications, New York, pp 292–310
Harris T, Larus J, Rajwar R (2010) Transactional memory (Synthesis lectures on computer architecture), 2nd edn. Morgan & Claypool Publishers, San Rafael
Lucassen JM, Gifford DK (1988) Polymorphic effect systems. In: POPL ’88: Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on principles of programming languages, New York, pp 47–57
Reinders J (2007) Intel threading building blocks: outfitting C + + for multi-core processor parallelism. O’Reilly Media Sebastopol
Talpin J-P, Jouvelot P (1992) Polymorphic type, region and effect inference. J Funct Program 2:245–271
Thomas P, Weedon R (1998) Object-oriented programming in Eiffel, 2nd edn. Addison-Wesley Longman Publishing Co., Inc., Boston
Vakilian M, Dig D, Bocchino R, Overbey J, Adve V, Johnson R (2009) Inferring method effect summaries for nested heap regions. In: ASE ’09: Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering, Auckland, pp 421–432
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this entry
Cite this entry
Bocchino, R.L. (2011). Deterministic Parallel Java. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_119
Download citation
DOI: https://doi.org/10.1007/978-0-387-09766-4_119
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-09765-7
Online ISBN: 978-0-387-09766-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering