CilkSilk : An Efficient Multithreaded Runtime System - PowerPoint PPT Presentation

1 / 9
About This Presentation
Title:

CilkSilk : An Efficient Multithreaded Runtime System

Description:

Cilk is C-based runtime system for multithreaded parallel programming. ... Intel Paragon MPP. Silicon Graphics Power Challenge SMP. MIT Phish network of workstations ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 10
Provided by: ssrnet
Category:

less

Transcript and Presenter's Notes

Title: CilkSilk : An Efficient Multithreaded Runtime System


1
Cilk(Silk) An Efficient Multi-threaded Runtime
System
  • Robert D. blumofe Christopher F.joerg etc
  • MIT Laboratory for Computer Science _at_1995 ACM
  • / Seminar by copyleft yi_sang /

2
Abstract
  • Cilk is C-based runtime system for multithreaded
    parallel programming.
  • Combined by work critical path
  • On this idea, we can predict the runtime
    accurately.
  • It can make efficient parallel processing by
    non-blocking thread function.

3
Cilks properties
  • Support non-blocking Thread model (in C code)
  • Schedule by work stealing scheduler
  • multithreaded computation can be viewed a DAG
  • Finally it gains Tp T1 / P s running time.

4
Thread model of Cilk (1)
5
Thread model of Cilk (2)
  • Basically, its using Continuation method. Thus
    args sending/receiving is easy and fast.
  • Continuation method is not sending total memory
    contest, but just sending the datas pointer.
  • So, it is fast.
  • thread T (arg-decls ) stmts
  • Thread definition
  • spawn T (args )
  • When calling Child thread
  • spawn_next T (args )
  • When calling Successor thread
  • send_argunemt (k, value)
  • Sending value to its waiting parent thread

6
Thread model of Cilk (3)
  • Figure 3 Example program of computing
    nth-Fibonacci number

7
Work Stealing Scheduler(assumption of multi
processor system)
  • Flow of work-stealing process
  • 1. Select a victim processor at random.
  • 2. If the victims ready queue is empty, go to
    step 1.
  • 3. Else, extract a thread from the tail of the
    list in the shallowest level o the ready queue,
    and invoke it.
  • By ready queue and join counter, it can
    process the scheduler. (see Figure 2)

8
Performance of Cilk applications
  • Tp T1/P Tinf gtgt we can predict the running
    time of program.
  • And It provides good scheduling performance.

9
Conclusion Future work
  • Cilk program can get two rabbits
  • 1. High-performance
  • 2. Easy to programming in programmers view
  • Currently, Cilk runtime system runs on
  • Connection Machine CM5 MPP
  • Intel Paragon MPP
  • Silicon Graphics Power Challenge SMP
  • MIT Phish network of workstations
  • But, it has limited points
  • Capabilities are limited.
  • Continuation passing style is burdensome
    slower!
  • (worst 50 cycles are needed)
Write a Comment
User Comments (0)
About PowerShow.com