Actions

Open Community Runtime: Difference between revisions

From Modelado Foundation

imported>Wpinfold
(Created page with "'''This Project Provides:''' High core count application building framework binary and source code. '''The Value of the Open Community Runtime (OCR) Project''' The Open Comm...")
 
imported>RomainCledat
No edit summary
Line 1: Line 1:
'''This Project Provides:''' High core count application building framework binary and source code.
=Introduction=


'''The Value of the Open Community Runtime (OCR) Project'''
== Goal ==
The goal of the Open Community Runtime (OCR) project is to propose and evaluate an API and framework aimed at:
* Expressing large amounts of parallelism in a task-based model
* Explicitly representing data dependences
* Running efficiently on tomorrow's exascale machines


The Open Community Runtime project is creating an application building framework that explores new methods of high-core-count programming. The initial focus is on HPC applications. Its goal is to create a tool that helps app developers improve the power efficiency, programmability, and reliability of their work while maintaining app performance.
== Audience ==
In its current state, the project aims to release a '''prototype implementation''' of a reference API by September 2015. As such, the project is mostly geared towards early adopters who would like to provide feedback on our programming model and API, runtime developers who are interested in implementing various algorithms and heuristics within our runtime framework and higher-level language/models implementors who are interested in determining if their model can map to OCR.


OCR will help the app developer with the complex process of writing multi-core apps create by masking the effort to manage event-driven tasks, events (which embody dataflow and code flow dependencies), memory data blocks (with semantic annotations for runtime use), machine description facilities, and more.
The initial release of OCR will be a development platform aimed at better understanding the challenges of executing task-based programming models on large scale systems.


'''Who It’s For'''
== Value of the OCR project ==


This project is for system developers, testers, debuggers, and other contributors working on high performance systems.
The OCR project is creating an application building framework that explores new methods of high-core-count programming with an initial focus on HPC applications. The project aims to explore, among other things:
* Expressability: how can application programmers express their applications in a hardware-agnostic manner; i.e.: how can they express the semantic of an application as opposed to the mapping of it to a particular kind of hardware
* Scheduling and data placement: what heuristics allow locality-aware scheduling and data-placement on an exascale system
* Introspection: how can a runtime system improve its execution characteristics by monitoring itself
* Resiliency: how can a runtime system deal with failures in an exascale system


'''Project Specifics'''
The OCR project aims to propose a low-level API to address the challenges of exascale programming and is meant to be targeted by higher-level abstractions.


This is a large open source project distributed under the the Apache open source license. With a mature and established codebase containing almost 8 million lines of code, Linux ACPI is written largely in C. OCR was originally unveiled at Supercomputing Conference 2012 (SC12) with a major new release (v0.8) introduced at Supercomputing 2013 (SC13). Community participation is encouraged, both for runtime enhancement as well as exploration of algorithm/application decomposition for new programming models.
== Timeline ==


'''Project Links'''
The OCR software is available under the BSD open source license.
* Initial unveiling at SC 2012
* v0.8 was introduced in SC 2013 and was a significant rewrite of most of the internal code to increase modularity and allow more community participation
* v0.9 was released in mid October.
* An initial draft of the specification will be released at SC 2014


https://github.com/01org/ocr
= Links =
 
* The source code is available on [https://github.com/01.org/ocr GitHub]
https://lists.01.org/mailman/listinfo/ocr-discuss
* Mailing lists are available [https://lists.01.org/mailman/listinfo/ocr-discuss here]

Revision as of 09:03, November 11, 2014

Introduction

Goal

The goal of the Open Community Runtime (OCR) project is to propose and evaluate an API and framework aimed at:

  • Expressing large amounts of parallelism in a task-based model
  • Explicitly representing data dependences
  • Running efficiently on tomorrow's exascale machines

Audience

In its current state, the project aims to release a prototype implementation of a reference API by September 2015. As such, the project is mostly geared towards early adopters who would like to provide feedback on our programming model and API, runtime developers who are interested in implementing various algorithms and heuristics within our runtime framework and higher-level language/models implementors who are interested in determining if their model can map to OCR.

The initial release of OCR will be a development platform aimed at better understanding the challenges of executing task-based programming models on large scale systems.

Value of the OCR project

The OCR project is creating an application building framework that explores new methods of high-core-count programming with an initial focus on HPC applications. The project aims to explore, among other things:

  • Expressability: how can application programmers express their applications in a hardware-agnostic manner; i.e.: how can they express the semantic of an application as opposed to the mapping of it to a particular kind of hardware
  • Scheduling and data placement: what heuristics allow locality-aware scheduling and data-placement on an exascale system
  • Introspection: how can a runtime system improve its execution characteristics by monitoring itself
  • Resiliency: how can a runtime system deal with failures in an exascale system

The OCR project aims to propose a low-level API to address the challenges of exascale programming and is meant to be targeted by higher-level abstractions.

Timeline

The OCR software is available under the BSD open source license.

  • Initial unveiling at SC 2012
  • v0.8 was introduced in SC 2013 and was a significant rewrite of most of the internal code to increase modularity and allow more community participation
  • v0.9 was released in mid October.
  • An initial draft of the specification will be released at SC 2014

Links

  • The source code is available on GitHub
  • Mailing lists are available here