Objectives
Outline: COMPSs is a programming model which is able to exploit the inherent concurrency of sequential applications and execute them in a transparent manner to the application developer in distributed computing platform. This is achieved by annotating part of the codes as tasks, and building at execution a task-dependence graph based on the actual data used consumed/produced by the tasks. The COMPSs runtime is able to schedule the tasks in the computing nodes and take into account facts like data locality and the different nature of the computing nodes in case of heterogeneous platforms. Additionally, recently COMPSs has been enhanced with the possibility of coordinating Web Services as part of the applications.
Learning Outcomes: In the course, the syntax, programming methodology and an overview of the runtime internals will be given. The attendees will get a first lesson about programming with COMPSs that will enable them to start programming with this framework.
A hands-on with simple introductory exercises will be also performed. The students who finish this course will be able to develop simple COMPSs applications and to run them both in a local resource and in a distributed platform (initially in a private cloud)
Prerequisites: Programming skills in Java
Agenda:
Day 1
Session 1 / 9am – 11am: Introduction to COMPSs
Programming mode
- Overview
- Steps
- Properties
COMPSs runtime system
- Overview
- Features
Session 1 / 11:30am – 1pm: Application examples
- Sample codes
- Demos
- Graphical interface (IDE)
Lunch Break 1pm to 2pm
Session 2 / 2 pm- 3:30 pm: Hands-on I
- Virtual Machine Setup
- Application Overview
- Code modification
Session 2 / 4 pm- 6 pm: Hands-on II
- Configuration, compilation & execution
- Monitoring, debugging & tracing
- Final notes
Free hands-on: Students use COMPSs environment with prepared examples, except in the free hands-on session were they can bring their own application.
END of COURSE
Materials
Download the slides COMPSs Tutorial