Mihaela Malita Summer 2005. Research Project. Computer Science Department Saint Anselm College


Parallaxis on Connex

A software library for a Connex-like multiprocessing machine


Team Library Dominique's Presentation(ppt) More Parallaxis Examples References On Connex
  • We created a library of Parallaxis programs designed for a new parallel computer architecture: the Connex chip produced by BrightScale (former Connex Technology) located in Silicon Valley.
  • At first we transfer basic data structures algorithms to Connex parallel style. This means "adapting" basic algorithms designed for a standard uniprocessor computer for our processor-in-memory (PIM), a multiprocessor array containing thousands of bitwise processing units (Connex). Our library contains also new algorithms designed specifically for this new parallel computer architecture paradigm.
  • We use the data-parallel programming language Parallaxis which provides the ability to develop more organized and understandable parallel programs customizing the parallel hardware architecture.

    The ConnexArray Architecture

    The ConnexArray architecture provides an optimal solution to the digital camera pipeline challenge. It provides the performance and power efficiency of high performance ASICs while maintaining extremely cost effective implementations with a completely programmable core. This breakthrough will enable higher performance, lower cost cameras in both still and camcorder product categories. In addition it will enable new classes of products previously not possible due to the inflexible nature of ASIC implementations and the cost/performance/power inefficiency of previous programmable approaches.


    Parallaxis-III - A Structured Data-Parallel Programming Language

    Parallaxis is a structured programming language for data-parallel programming (SIMD systems), developed by Thomas Braunl in 1989. The language is based on sequential Modula-2, but extended by machine-independent parallel constructs. In Parallaxis an abstraction is achieved by declaring a processor configuration in functional form, specifying number, arrangement, and connections between processors. With these "virtual processors and connections", an application program can be constructed independent of the actual computer hardware. We believe this results in more readable and understandable parallel programs.