COMIC Coherent Shared Memory Interface for Cell BE

Overview

The Cell BE processor is a heterogeneous multicore that contains one PowerPC Processor Element (PPE) and eight Synergistic Processor Elements (SPEs). Each SPE has a small software-managed local store. Applications must explicitly control all DMA transfers of code and data between the SPE local stores and the main memory, and they must perform any coherence actions required for data transferred. The need for explicit memory management, together with the limited size of the SPE local stores, makes it challenging to program the Cell BE and achieve high performance.

COMIC (A COherent shared Memory Interface for Cell BE) is a runtime system that might solve above problems. It provides the program with an illusion of a globally shared memory, in which the PPE and each of the SPEs can access any shared data item, without the programmer having to worry about where the data is, or how to obtain it.

COMIC is implemented entirely in software with the aid of userlevel libraries provided by the Cell SDK. For each read or write operation in SPE code, a COMIC runtime function is inserted to check whether the data is available in its local store, and to automatically fetch it if it is not. We propose a memory consistency model and a programming model for COMIC, in which the management of synchronization and coherence is centralized in the PPE.

It is necessary to build your parallel program with COMIC on a Cell BE machine (Cell Blade or PlayStation 3). COMIC is an API (library) written in C.

Publications

Please use the citation below to reference COMIC.

  • [PACT] Jaejin Lee, Sangmin Seo, Chihun Kim, Junghyun Kim, Posung Chun, Zehra Sura, Jungwon Kim, and SangYong Han. COMIC: A Coherent Shared Memory Interface for Cell BE. PACT ’08: Proceedings of the 17th ACM/IEEE/IFIP International Conference on Parallel Architectures and Compilation Techniques, pp. 303—314, Toronto, Canada, October 2008, DOI: 10.1145/1454115.14541.

Tested Platforms

  • Cell Blade QS21 / Red Hat Enterprise Linux Server 5.1
  • PlayStation 3 / Fedora 7
  • You need the following software to use COMIC
    • Cell SDK 3.0
    • IBM XL C/C++ for Multicore Acceleration for Linux, V9.0

Download

If you would like to download the COMIC, please email us. 

Contributors

  • Current: Jaejin Lee, Jun Lee, and Sangmin Seo
  • Past: Posung Chun, Chihun Kim, Junghyun Kim, and Jungwon Kim

Contact and Bug Report

License

Copyright (C) 2008 Seoul National University.
    All rights reserved.
    
    This library is free software; you can redistribute it and/or modify it
    under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation; either version 2.1 of the License,
    or (at your option) any later version.
    
    This library is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
    General Public License for more details.
    
    You should have received a copy of the GNU Lesser General Public License
    along with this library; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
    
    Contact information:
     Advanced Compiler Research Laboratory
     School of Computer Science and Engineering
     Seoul National University, Seoul 151-744, Korea
    
    https://thunder.snu.ac.kr
    
    Contributors:
     Sangmin Seo, Chihun Kim, Posung Chun, Jun Lee, Junghyun Kim,
     Jungwon Kim, and Jaejin Lee