Tying Memory Management to Parallel Programming Models
Stand-alone threading libraries lack sophisticated memory management techniques. In this paper, we present a methodology that allows threading libraries that implement non-preemptive parallel programming models to reduce their memory requirements, based on the properties of those models. We applied the methodology to NthLib, which is an implementation of the Nano-Threads programming model, and evaluated it on an Intel based multiprocessor system with HyperThreading and on the SMTSIM simulator. Our results indicate that not only memory requirements drop drastically, but that execution time also improves, compared to the original implementation. This allows more fine-grained, but also larger numbers of parallel tasks to be created.
KeywordsExecution Time Memory Requirement Parallel Task Memory Region Parallel Programming Model
Unable to display preview. Download preview PDF.
- 1.Tullsen, D., Eggers, S., Levy, H.: Simultaneous Multithreading: Maximizing On-Chip Parallelism. In: Proceedings of the 22nd Annual International Symposium on Computer Architecture, S. Margherita Ligure, Italy, pp. 392–403 (1995)Google Scholar
- 2.Marr, D.T., Binns, F., Hill, D.L., Hinton, G., Koufaty, D.A., Miller, J.A., Upton, M.: Hyper-Threading Technology Architecture and Microarchitecture. Intel Technology Journal 6(1), 4–15 (2002)Google Scholar
- 5.von Behren, R., Condit, J., Zhou, F., Necula, G., Brewer, E.: Capriccio: Scalable Threads for Internet Services. In: Proceedings of the 19th Symposium on Operating System Principles, Bolton Landing, New York, pp. 268–281 (2003)Google Scholar
- 6.Taura, K., Tabata, K., Yonezawa, A.: Stackthreads/MP: Integrating Futures into Calling Standards. Technical Report TR 99-01, University of Tokyo (1999)Google Scholar
- 7.del Cuvillo, J., Zhu, W., Hu, Z., Gao, G.R.: TiNy Threads: a Thread Virtual Machine for the Cyclops64 Cellular Architecture. In: Proceedings of the 5th Workshop on Massively Parallel Processing, Denver, Colorado (2005)Google Scholar
- 8.Venetis, I.E., Papatheodorou, T.S.: A Time and Memory Efficient Implementation of the Nano-Threads Programming Model. Technical Report HPCLAB-TR-210106, High Performance Information Systems Laboratory (2006)Google Scholar
- 10.Polychronopoulos, C., Bitar, N., Kleiman, S.: Nanothreads: A User-Level Threads Architecture. Technical Report 1297, CSRD, University of Illinois at Urbana-Champaign (1993)Google Scholar