Presentation is loading. Please wait.

Presentation is loading. Please wait.

4/27/2000 A Framework for Evaluating Programming Models for Embedded CMP Systems Niraj Shah Mel Tsai CS252 Final Project.

Similar presentations


Presentation on theme: "4/27/2000 A Framework for Evaluating Programming Models for Embedded CMP Systems Niraj Shah Mel Tsai CS252 Final Project."— Presentation transcript:

1 4/27/2000 A Framework for Evaluating Programming Models for Embedded CMP Systems Niraj Shah Mel Tsai CS252 Final Project

2 CS252 Final Project (Spring 2000) Overview Motivation Target Architectures Programming Model Software Environment Applications Preliminary Results and Conclusions Future Work

3 CS252 Final Project (Spring 2000) Motivation Embedded multiprocessor systems for are different than their GP counterparts Interprocess communication can be very cheap Communication architecture tailored to application Desirable not to have a heavy OS or large library to handle communication Efficiently programming these systems in an HLL is an absolute necessity How do we evaluate the machine abstraction that is presented to the programmer?

4 CS252 Final Project (Spring 2000) Target Architectures Instructions to perform communication operations Some simplifying assumptions PE Thanks Scott Instruction Cache FU SFU Register File Memory System

5 CS252 Final Project (Spring 2000) Programming Model Language specification is a simplified subset of MPI Single Program Multiple Data (SPMD) execution model Separate address spaces for each process Bind each process to a distinct PE Communication primitives Blocking/Non-blocking Sends & Receives MPI Programming Model MPI_Send(data_length, *data_location, type, destination_PE, tag_identifier, MPI_COMM_WORLD); Mescal Programming Model Mescal_Send(data_length, *data_location, destination_PE); How do we evaluate the programming model?

6 CS252 Final Project (Spring 2000) Software Environment Augmented IMPACT framework (single PE) to target CMPs Compiler Generates optimized code for each PE Understands our programming model Generates code to use our hardware

7 CS252 Final Project (Spring 2000) Trace Simulator *.X_im_p emulator generator *.c + probes gcc simulator trace data “probed” executable simulation data machine description input data *.c + MPI + probes MPI C compiler emulator generator MP simulator trace data simulation data machine description “probed” executable *.X_im_p

8 CS252 Final Project (Spring 2000) Application - JPEG JPEG encode/decode splitter encodedecode combinerencodedecode encodedecode process 1 process 2 process 3 process 4 process 5

9 CS252 Final Project (Spring 2000) Application – Network Routing Based on MIT Click Modulator Router Translated to C (from C++) by the MESCAL team  CRACK (Click Rapidly Adapted to C-Kode) Built router kernel from CRACK “Elements”

10 CS252 Final Project (Spring 2000) CRACK Parallelized CRACK InfiniteSource CheckIP- Header GetIPAddress Lookup- IPRoute Port 0 12.1% 48.8% 49.3% 0% process 1 process 2 process 3 Idle cycle times Port 1 Port n … process 4 process 5 88%

11 CS252 Final Project (Spring 2000) Preliminary Conclusions Scheme to better parallelize (load- balance) applications Need way of overlapping computation and communication (i.e. non-blocking) Extensible framework is useful for exploring different programming models Allows for quantitative analysis of the effect of communication primitives

12 CS252 Final Project (Spring 2000) Future Work Get more detailed numbers from parallelized CRACK Implement non-blocking sends and receives Map multiple processes to a single PE Performance evaluation of different programming models for an application set Support dynamic process creation Incorporate microarchitectural simulation of communication instructions


Download ppt "4/27/2000 A Framework for Evaluating Programming Models for Embedded CMP Systems Niraj Shah Mel Tsai CS252 Final Project."

Similar presentations


Ads by Google