Vergleich von Programmiermodellen für die CellBE-Architektur

BearbeiterIn:Bernd Schoebel
Titel:Vergleich von Programmiermodellen für die CellBE-Architektur
Typ:Studienarbeit
Betreuer:Werth, T.; Philippsen, M.
Status:abgeschlossen am 12. Januar 2009
Vorausetzungen:

Sony, Toshiba und IBM haben mit dem Cell-Prozessor eine heterogene Mehrkern-Architektur vorgestellt, die die Rechenleistung heutiger PC-Prozessoren bei Weitem übertrifft. Dabei unterliegen die einzelnen Kerne verschiedenen Einschränkungen und Anforderungen. Beispiele dafür sind der begrenzte Speicherbereich (Local Store) und die Synchronisierung der Arbeit auf den parallel arbeitenden Kernen (SPUs).
Um dem Programmierer komfortableren Zugriff auf die Rechenleistung zu geben, wurden verschiedene Programmiermodelle und Ansätze vorgestellt. Diese versprechen, verschiedene Hürden beim Entwickeln von Programmen für den Cell-Prozessor zu beseitigen.

Thema:

Im Rahmen der Arbeit sollen die verschiedenen, existierenden Programmiermodelle auf verschiedene Kriterien hin verglichen werden. Dazu sollen Beispielprogramme (z.B. LBM-Simulation, Matrix-Multiplikation) mit Hilfe der zu vergleichenden Programmiermodelle entwickelt werden. Kriterien können dabei die Laufzeitmerkmale sein, wie die absolute Rechenzeit sowie die Skalierbarkeit auf mehreren SPUs, aber auch die Unterstützung des Programmierers zur Entwicklungszeit.

Folgende Schritte sind für die Arbeit vorgeschlagen:

  • Einarbeitung in die Cell BE Architektur
  • Implementierung mehrerer sequentieller und paralleler Beispielprogramme ohne Unterstützung durch ein Programmiermodell
  • Literatur- und Internetrecherche, um sich einen Überblick über die vorhandenen Programmiermodelle zu verschaffen
  • Sammeln verschiedener Kriterien und Metriken zum Vergleich der Programmiermodelle
  • Implementierung der Beispielprogramme mit Unterstützung durch die verschiedenen Ansätze
  • Ausarbeitung

Literatur:
[1]: Kahle, J. A., Day, M. N., Hofstee, H. P., Johns, C. R., Maeurer, T. R., and Shippy, D.: Introduction to the cell multiprocessor. In IBM Journal of Research and Development 49, 4/5 pages 589-604, July 2005.
[2]: Eichenberger, A. E., O'Brien, K., O'Brien, K., Wu, P., Chen, T., Oden, P. H., Prener, D. A., Shepherd, J. C., So, B., Sura, Z., Wang, A., Zhang, T., Zhao, P., and Gschwind, M.: Optimizing Compiler for the CELL Processor. In Proceedings of the 14th international Conference on Parallel Architectures and Compilation Techniques., IEEE Computer Society, Washington, DC, pages 161-172, September 2005.
[3]: Bellens, P., Perez, J. M., Badia, R. M., and Labarta, J.: CellSs: a programming model for the cell BE architecture. In Proceedings of the 2006 ACM/IEEE Conference on Supercomputing, ACM, New York, NY, November 2006.
[4]: M. Ohara, H. Inoue, Y. Sohda, H. Komatsu, and T. Nakatani: MPI microtask for programming the Cell Broadband Engine™ processor. In IBM Systems Journal 45, November 2006.
[5]: RapidMind, Inc.: Cell BE Porting and Tuning with RapidMind: A Case Study., white paper, 2006.

watermark seal