CILK: A Multi-Threaded Programming System for Meta-Computers

Abstract

Contracts F30602-97-l-0150 and F306O2-97-l-0270 were a joint effort but funded using different contract vehicles at the request of DARPA, the sponsoring agency. This report documents the design and development of CILK, a language for multi-threaded parallel programming based on ANSI C. CILK is designed for genera-purpose parallel programming, but it is especially effective for exploiting dynamic, highly asynchronous parallelism, which can be difficult to write in data-parallel or message-passing style. Three world-class chess programs were written in CILK by the CILK group at MIT. CILK provides an effective platform for programming dense and sparse numerical algorithms, such as matrix factorization and N-body simulations. Unlike many other multithreaded programming systems, CILK is algorithmic, in that the runtime system employs a scheduler that allows the performance of programs to be estimated accurately based on abstract complexity measures. CILK is available for download at http:/supertech. lcs . mit. edu/cilk/

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 01, 2001
Accession Number
ADA399574

Entities

People

  • Lawrence H Snyder

Organizations

  • Massachusetts Institute of Technology

Tags

DTIC Thesaurus Topics

  • Abstracts
  • Air Force
  • Air Force Research Laboratories
  • Algorithms
  • Application Software
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Debugging
  • Language
  • Measurement
  • Military Research
  • Multithreading
  • Operating Systems
  • Parallel Computing
  • Platforms

Fields of Study

  • Computer science

Readers

  • Defense Technology Research and Development.
  • Parallel and Distributed Computing.