Furthermore, large arrays of PIMs can be arranged into a massively parallel architecture. In this talk, we describe an object-based programming model based on the notion of a macroserver. Data distributions provide a mechanism for mapping large data structures across the memory region of a macroserver, while work distributions allow explicit control of bindings between threads and data. Both data and work distributions are first-class objects of the model, supporting the dynamic management of data and threads in memory. This offers the flexibility required for fully exploiting the processing power and memory bandwidth of a PIM array, in particular for irregular and adaptive applications.
Thread synchronization is based on atomic methods, condition variables, and futures.
A special type of lightweight macroserver allows the formulation of flexible scheduling strategies for the access to resources, using a monitor-like mechanism. Biography Hans Zima is the Chair of the Institute for Software Science at the University of Vienna , Austria. He studied at the University of Vienna, where he received his Ph.D. degree in Mathematics in 1964. After working for German and US computer manufacturers and software companies, he accepted in 1973 a research position at the University of Karlsruhe, Germany. He was appointed Professor of Computer Science at the University of Bonn, Germany, in 1975.