ABSTRACT
In order to construct a test-bed for investigating new programming paradigms for future "manycore" systems (i.e. those with at least a thousand cores), we are building a Smalltalk virtual machine that attempts to efficiently use a collection of 56-on-chip caches of 64KB each to host a multi-megabyte object heap. In addition to the cost of inter-core communication, two hardware characteristics influenced our design: the absence of hardware-provided cache-coherence, and the inability to move a single object from one core's cache to another's without changing its address. Our design relies on an object table, and the exploitation of a user-managed caching regime for read-mostly objects. At almost every stage of our process, we obtained measurements in order to guide the evolution of our system.
The architecture and performance characteristics of a manycore platform confound old intuitions by deviating from both traditional multicore systems and from distributed systems. The implementor confronts a wide variety of design choices, such as when to share address space, when to share memory as opposed to sending a message, and how to eke out the most performance from a memory system that is far more tightly integrated than a distributed system yet far less centralized than in a several-core system. Our system is far from complete, let alone optimal, but our experiences have helped us develop new intuitions needed to rise to the manycore software challenge.
- IBM, "The IBM® Blue Gene®/P Solution," 2009; http://www-03.ibm.com/systems/deepcomputing/bluegene/.Google Scholar
- IBM, "IBM Cell Broadband Engine technology," 2009; http://www-03.ibm.com/technology/cell/index.html.Google Scholar
- Tilera Corp., "Tilera," 2009; http://www.tilera.com.Google Scholar
- Squeak.org, "Squeak," 2009; http://squeak.org/.Google Scholar
- J. Pallas and D. Ungar, "Multiprocessor Smalltalk: a case study of a multiprocessor-based programming environment," PLDI, 1988. Google Scholar
Digital Library
- J. I. Pallas, "Multiprocessor Smalltalk: implementation, performance, and analysis," Computer Science, Stanford University, Stanford, CA, 1990. Google Scholar
Digital Library
- C. P. Thacker and L. C. Stewart, "Firefly: A multiprocessor workstation," ASPLOS II, 1987. Google Scholar
Digital Library
- D. M. Ungar and D. A. Patterson, "Berkeley Smalltalk: Who knows where the time goes?," Smalltalk-80: History, Words of Advice, G. Krasner, ed., Addison-Wesley, 1983, pp. 189-206.Google Scholar
- D. Ungar, "Generation Scavenging: A non-disruptive high performance storage reclamation algorithm," Software Engineering Symposium on Practical Software Development Environments, 1984. Google Scholar
Digital Library
- D. M. Ungar, The Design and Evaluation of a High Performance Smalltalk System, MIT Press, 1987, p. 250. Google Scholar
Digital Library
- MIT Artificial Intelligence Laboratory, "The Jellybean Machine," 1998; http://cva.stanford.edu/projects/j-machine/.Google Scholar
- W. Horvat, Concurrent Smalltalk on the Message-Driven Processor, MIT Computer Science and Artificial Intelligence Lab, 1991; http://dspace.mit.edu/handle/1721.1/7090.Google Scholar
- I. Williams, "The Mushroom Machine - An Architecture for Symbolic Processing," IEE Colloquium on VLSI and Architectures for Symbolic Processing, 1989.Google Scholar
- M. Wolczko and I. Williams, "The influence of the object-oriented language model on a supporting architecture," 26th Hawaii Conference on System Science, 1994.Google Scholar
- I. Williams and M. Wolczko, "An Object-Based Memory Architecture," Fourth International Workshop on Persistent Object Systems, 1991.Google Scholar
- J. Stokes, "MIT startup raises multicore bar with new 64-core CPU," 2007.Google Scholar
- Tilera Corp., Multicore Development Environment - Product Brief, T. Corp., 2008; http://tilera.com/pdf/ProductBrief_MDE_Web_v2.pdf.Google Scholar
- D. Ingalls, et al., "Back to the future: The story of Squeak, A practical Smalltalk written in itself," OOPSLA, 1997; http://www.vpri.org/pdf/backto_TR-1997-001.pdf. Google Scholar
Digital Library
- T. Reenskaug, "The Model-View-Controller (MVC). Its Past and Present," JAOO, 2003; http://heim.ifi.uio.no/~trygver/2003/javazone-jaoo/MVC_pattern.pdf.Google Scholar
- T. Reenskaug, MODELS - VIEWS - CONTROLLERS, 1979; http://folk.uio.no/trygver/1979/mvc-2/1979-12-MVC.pdf.Google Scholar
- T. Reenskaug, "MVC Xerox PARC 1978-79," Trygve/MVC.Google Scholar
- Tilera Corp., TileraPro64 Processor - Product Brief, T. Corp., 2008; http://tilera.com/pdf/ProductBrief_TILEPro64_Web_v2.pdfGoogle Scholar
Index Terms
Hosting an object heap on manycore hardware: an exploration
Recommendations
Hosting an object heap on manycore hardware: an exploration
DLS '09In order to construct a test-bed for investigating new programming paradigms for future "manycore" systems (i.e. those with at least a thousand cores), we are building a Smalltalk virtual machine that attempts to efficiently use a collection of 56-on-...
Quantifying and Optimizing the Impact of Victim Cache Line Selection in Manycore Systems
MASCOTS '14: Proceedings of the 2014 IEEE 22nd International Symposium on Modelling, Analysis & Simulation of Computer and Telecommunication SystemsIn both architecture and software, the main goal of data locality-oriented optimizations has always been "minimizing the number of cache misses" (especially, costly last-level cache misses). However, this paper shows that other metrics such as the ...
Energy Efficient Stencil Computations on the Low-Power Manycore MPPA-256 Processor
Euro-Par 2018: Parallel ProcessingAbstractA new class of highly-parallel low-power manycore chips that cope with energy constraints have been unveiled. Sunway’s SW26010 and Kalray’s MPPA-256 are examples of them, featuring more than two hundred cores in a single low-power chip. Although ...







Comments