WG4: Language Integration & Tools

Slides:



Advertisements
Similar presentations
C++ Development on Linux Agenda Introduction Editors Debuggers GUI IDEs Make Automake Exploring further.
Advertisements

Nom Entité 1 Titre général du document THE VELOX STACK Patrick Marlier (UniNE)
INSPIRE The Insieme Parallel Intermediate Representation Herbert Jordan, Peter Thoman, Simone Pellegrini, Klaus Kofler, and Thomas Fahringer University.
Software & Services Group PinPlay: A Framework for Deterministic Replay and Reproducible Analysis of Parallel Programs Harish Patil, Cristiano Pereira,
The OpenUH Compiler: A Community Resource Barbara Chapman University of Houston March, 2007 High Performance Computing and Tools Group
The Path to Multi-core Tools Paul Petersen. Multi-coreToolsThePathTo 2 Outline Motivation Where are we now What is easy to do next What is missing.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Manchester University Transactions for Scala Daniel Goodman Euro TM Paris, May 2011.
By Neng-Fa Zhou Compiler Construction CIS 707 Prof. Neng-Fa Zhou
TM Pro64™: Performance Compilers For IA-64™ Jim Dehnert Principal Engineer 5 June 2000.
University of Kansas Construction & Integration of Distributed Systems Jerry James Oct. 30, 2000.
Programming Languages Structure
V0.01 © 2009 Research In Motion Limited Understanding Java APIs for Mobile Devices Trainer name Date.
F# Shiva Srivastava David He Peter Bingel. Overview F# (pronounced "F sharp") is a functional and object oriented programming language for the Microsoft.NET.
Business Process Management with Activiti João Silva (CERN, GS-AIS) 21st of October, 2014 BUSINESS PROCESS MANAGEMENT WITH ACTIVITI.
Marlene Galea.  The JDK (Java Development Kit)  An IDE (Integrated Development Environment) ◦ Different IDEs include:  JCreator  NetBeans  BlueJ.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
1 1 Profiling & Optimization David Geldreich (DREAM)
Hossein Bastan Isfahan University of Technology 1/23.
UFCFX5-15-3Mobile Device Development UFCFX Mobile Device Development An Introduction to the Module.
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
M1G Introduction to Programming 2 4. Enhancing a class:Room.
September 7, September 7, 2015September 7, 2015September 7, 2015 Azusa, CA Sheldon X. Liang Ph. D. Computer Science at Azusa Pacific University.
1 Developing Native Device for MPJ Express Advisor: Dr. Aamir Shafi Co-advisor: Ms Samin Khaliq.
 Actor Model  Software Transactional Memory  Data Flow Programming.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
Microsoft Research Faculty Summit Panacea or Pandora’s Box? Software Transactional Memory Panacea or Pandora’s Box? Christos Kozyrakis Assistant.
Compiler BE Panel IDC HPC User Forum April 2009 Don Kretsch Director, Sun Developer Tools Sun Microsystems.
Introduction to Compiler Construction Robert van Engelen COP5621 Compiler Construction Copyright Robert.
.NET Language Supports. .NET Language Support Operating System Common Language Runtime Base Class Library ADO.NET and XML ASP.NET Web Forms Web Services.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Extending Open64 with Transactional Memory features Jiaqi Zhang Tsinghua University.
Copyright © 2002, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book
1 Optimizing compiler tools and building blocks project Alexander Drozdov, PhD Sergey Novikov, PhD.
CS 671 Compilers Prof. Kim Hazelwood Spring 2008.
© 2010 by Boeing; made available under the EPL v1.0 | March 23, 2010 | Xtext and GEF deliver editors for the Open System Engineering Environment Ryan Brooks.
 Programming - the process of creating computer programs.
Threaded Programming Lecture 2: Introduction to OpenMP.
Platform Abstraction Group 3. Question How to deal with different types hardware and software platforms? What detail to expose to the programmer? What.
Introduction Why are virtual machines interesting?
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
Vertical Profiling : Understanding the Behavior of Object-Oriented Applications Sookmyung Women’s Univ. PsLab Sewon,Moon.
Design of A Custom Vector Operation API Exploiting SIMD Intrinsics within Java Presented by John-Marc Desmarais Authors: Jonathan Parri, John-Marc Desmarais,
1 Asstt. Prof Navjot Kaur Computer Dept PRESENTED BY.
Software Systems Division (TEC-SW) ASSERT process & toolchain Maxime Perrotin, ESA.
Project Proposal A JML compiler on Eclipse Platform Amritam Sarcar CS5381.
Presented by : A best website designer company. Chapter 1 Introduction Prof Chung. 1.
A Detailed Introduction To Visual Studio.NET CRB Tech ReviewsCRB Tech Reviews introduces you to the world of Visual.
Computer System Structures
Before You Begin Nahla Abuel-ola /WIT.
Chapter 1 Introduction.
Introduction to Compiler Construction
SOFTWARE DESIGN AND ARCHITECTURE
Spark Presentation.
Clojure: Why is it interesting?
Pattern Parallel Programming
Chapter 1 Introduction.
Introduction to Functional Programming Course Summary and Future
Intel® Parallel Studio and Advisor
Introduction to .NET By : Mr. V. D. Panchal Content :
The Challenge of Cross - Language Interoperability
F II 1. Background Objectives
.Net for Test and Measurement
CS4540 Special Topics in Web Development Introduction to .NET
Presentation transcript:

WG4: Language Integration & Tools Wolfgang Karl

1st Plenary Meeting, Paris Agenda Goals of WG4 Language Integration and Tools Overview of language integration efforts Scheduled Talks 1st Plenary Meeting, Paris

1st Plenary Meeting, Paris Goals of WG4: Language Integration and Tools Coordinate European research activities: Integration of TM supports within mainstream languages and development frameworks extensions to compilers virtual machines for languages relying on managed runtime systems Explore TM integration in Message passing-oriented or data parallel languages Boost standardization process for APIs Supporting tools: debugger, profiler, performance analyzer and performance tuning Enable and support collaborations Platform for researchers on these topics 1st Plenary Meeting, Paris

1st Plenary Meeting, Paris Language Integration TM support for C in GCC GCC’s intermediate representations with new GTM passes. Joint project of KIT (Prof. Karl, M. Schindewolf) and INRIA (Prof. Cohen) Now: revised and maintained by Red Hat Inc. 1st Plenary Meeting, Paris

1st Plenary Meeting, Paris Language Integration efforts Languages C and C++ Many different STM implementations available Standardization Initiative led by Intel TM language constructs for C++ proposed by People from Intel, IBM, and Oracle Keyword __transaction [[attribute]]{} Attributes define the semantic of a Txn Intel published ABI for compatibility at assembly-level STM function names Calling conventions Transaction nesting Barrier optimizations Irrevocability 1st Plenary Meeting, Paris

1st Plenary Meeting, Paris Language Integration efforts Languages that would benefit from further standardization Java, C#, Haskell, Phython, OCaml, Clojure, Lisp, Perl, Smalltalk, Fortress, ... 1st Plenary Meeting, Paris

1st Plenary Meeting, Paris 1st Plenary Meeting – WG4 Session 1: Language Support for TM Daniel Goodman: MUTS: Native Scala Constructs for Software Transactional Memory Keyword-based TM extension of Scala Enhance parser with TM capabilities David Kitchin: Atomicity and Structured Concurrency Orc programming language with atomic contruct Formalizes notion of atomicity Ismail Kuru: Integration of transactional memory support into a data-flow extension of OpenMP TERAFLUX: Combine data-flow and TM Prototypical implementation in GCC (extend OpenMP and combine with TM branch) Define semantics of transactions nested within OpenMP tasks 1st Plenary Meeting, Paris

1st Plenary Meeting, Paris 1st Plenary Meeting – WG4 Session 2: TM programmability support and tools Jeremy Singer: Programmer and Runtime Policies for Adaptive Many-Core Parallelism Novel Java extension Encodes accuracy of program modules Adaptively spawns threads Martin Schindewolf: Methods and Strategies to Rate and Optimize Transactional Memory Applications TM-Opt: Optimization of TM applications Close gap between low-level TM research and programmer’s view Provide tools to guide programmer 1st Plenary Meeting, Paris

1st Plenary Meeting, Paris 1st Plenary Meeting – WG4 Session 2: TM programmability support and tools Guy Korlan: Crafting a High-Performance Ready-to-Go STM Deuce: efficient full-featured Java STM framework No compiler or JVM modifications required Joao Cachopo: JVSTM and its applications Java library implementing a multi-version STM Applied to several domains and used productively 1st Plenary Meeting, Paris

1st Plenary Meeting, Paris Discussion Language integration Are standardization activities useful? Does a common API help? Industry activities – cannot be ignored! Runtime systems Adaptation Tools What are the features? Debugger Profiler Performance analysis / tuning 1st Plenary Meeting, Paris