A Tutorial on Emu Technology’s Migratory Thread and Memory-Side Processing Architecture and Cilk Programming Environment
Submitted by hebertem on Fri, 2017-02-24 16:09
Shannon Kuntz and Janice McMahon
Colloq: Speaker Institution:
Emu Technology, Inc.
Colloq: Date and Time:
Fri, 2017-02-10 09:00
Building 5200, Room 202A
Colloq: Host Email:
The Emu Memory Server is a new, scalable, shared-memory HPC system based on a massively parallel processing architecture that employs Migratory Memory-side Processing. In this programming model, thousands of threads execute on many cores that are closely coupled to memory. During execution, references to non-local memory cause the hardware to automatically “migrate” the thread to the location holding the referenced data versus moving large cache blocks of data through the system. The architecture also supports a set of remote atomic updates to non-local memory that send only the data and operation to be performed, but do not migrate the thread. This reduces network traffic from round-trip to one-way transactions, effectively avoiding bottlenecks in the network/interconnect that can cause processors to stall and applications to scale poorly. The morning session will cover the Emu system architecture and Migratory Memory-side Processing execution model, along with an overview of the Emu programming environment, the Cilk language, and Emu-specific functionality such as data allocation and distribution, atomic operations, and thread management. The afternoon session will be a Cilk “code, compile, and run” exercise, based on a sample application kernel.
Colloq: Speaker Bio:
Shannon Kuntz and Janice McMahon are members of the technical staff at Emu Technology, Inc.