Coupling Memory and Computation for Locality Management

作者: Guy E. Blelloch , Umut A. Acar , Stefan K. Muller , Matthew Fluet , Ram Raghunathan

DOI: 10.4230/LIPICS.SNAPL.2015.1

关键词:

摘要: We articulate the need for managing (data) locality automatically rather than leaving it to programmer, especially in parallel programming systems. To this end, we propose techniques coupling tightly computation (including thread scheduler) and memory manager so that data can be positioned closely hardware. Such tight of management is sharp contrast with prevailing practice considering each isolation. For example, memory-management usually abstract as an unknown "mutator", which treated a "black box". As example approach, paper consider specific class computations, nested-parallel computations. computations dynamically create nesting tasks. method organizing tree heaps reflecting structure nesting. More specifically, our approach creates heap task if separately scheduled on processor. This allows us couple garbage collection way processors. enables taking advantage program by mapping improved collected immediately after its finishes when contents likely cache.

参考文章(48)
David Kuck, Justin Rattner, Kevin Kahn, Shekhar Borkar, Pradeep Dubey, Hans Mulder, Steve Pawlowski, Platform 2015: Intel ® Processor and Platform Evolution for the Next Decade ,(2005)
Antony Hosking, Eliot Moss, Richard Jones, The Garbage Collection Handbook: The Art of Automatic Memory Management ,(2011)
Jean-Noël Quintin, Frédéric Wagner, Hierarchical work-stealing european conference on parallel processing. pp. 217- 229 ,(2010) , 10.1007/978-3-642-15277-1_21
Mads Tofte, Robin Milner, Robert Harper, David MacQueen, The Definition of Standard ML (Revised) MIT Press. ,(1997)
Guy E. Blelloch, Jeremy T. Fineman, Phillip B. Gibbons, Harsha Vardhan Simhadri, Scheduling irregular parallel computations on hierarchical caches Proceedings of the 23rd ACM symposium on Parallelism in algorithms and architectures - SPAA '11. pp. 355- 366 ,(2011) , 10.1145/1989493.1989553
Doug Lea, A Java fork/join framework Proceedings of the ACM 2000 conference on Java Grande. pp. 36- 43 ,(2000) , 10.1145/337449.337465
Shimin Chen, Todd C. Mowry, Chris Wilkerson, Phillip B. Gibbons, Michael Kozuch, Vasileios Liaskovitis, Anastassia Ailamaki, Guy E. Blelloch, Babak Falsafi, Limor Fix, Nikos Hardavellas, Scheduling threads for constructive cache sharing on CMPs Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures - SPAA '07. pp. 105- 115 ,(2007) , 10.1145/1248377.1248396
Wm. A. Wulf, Sally A. McKee, Hitting the memory wall ACM SIGARCH Computer Architecture News. ,vol. 23, pp. 20- 24 ,(1995) , 10.1145/216585.216588
Robert H. Halstead, MULTILISP: a language for concurrent symbolic computation ACM Transactions on Programming Languages and Systems. ,vol. 7, pp. 501- 538 ,(1985) , 10.1145/4472.4478