Programming Distributed Computing Platforms with COMPSs @ BSC

CET
Vertex Building, Room VS208 (Barcelona BSC Campus Nord)

Vertex Building, Room VS208

Barcelona BSC Campus Nord

Description

The registration to this course is now open. Please, bring your own laptop. All the PATC courses at BSC are free of charge.

Course convener: Rosa Badia, Workflows and Distributed Computing Group Manager, Computer Sciences - Workflows and Distributed Computing Department

Lecturers

Rosa M Badia, Workflows and Distributed Computing Group Manager, Computer Sciences - Workflows and Distributed Computing Department, BSC

Javier Conejero, Senior Researcher, Computer Sciences - Workflows and Distributed Computing Department, BSC

Jorge Ejarque, Researcher, Computer Sciences - Workflows and Distributed Computing Department, BSC

Daniele Lezzi, senior researcher, Computer Sciences - Workflows and Distributed Computing Department, BSC

Objectives: The objective of this course is to give an overview of the COMPSs 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 code 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. COMPSs supports Java, C/C++ and Python as programming languages.

Learning Outcomes:  In the course, the COMPSs 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)

Level: for trainees with some theoretical and practical knowledge.

INTERMEDIATE: for trainees with some theoretical and practical knowledge; those who finished the beginners course

ADVANCED: for trainees able to work independently and requiring guidance for solving complex problems

Prerequisites: Programming skills in Java and Python 

 

Agenda: 

Day 1 (January, 29)

Session 1 / 9:30am – 1:00pm (1h lecture, 1:30h practical)

9: 30 am – 10:00 am Roundtable. Presentation and background of participants

10:00 am – 10:15 am Motivation and introduction to COMPSs

10:15 am – 11:00 am Programming mode: Python Syntax

11:00 am – 11:30 am Coffee Break

11:30 am – 13:00 pm Python Hands-on

13:00 pm – 14:30 pm Lunch Break

 

Session 2 / 2:30pm – 16:30pm (2h practical)

14:30 pm – 16:30 pm practical session on parallelizing with PyCOMPSs (bring your own code)

16:30pm - Adjourn

 

 

Day 2 (January, 30)

Session 3 / 9:30am – 1:30pm (1:30h lecture, 2 h practical)

9:30 am – 10:00 am: Java Syntax

10:00 am – 11:00 pm Java Hands-on

11:00 am – 11:30 am Coffee Break

11:30 am – 12:00 pm COMPSs execution environment

12:00 pm – 12:30 pm Integration COMPSs+OmpSs

12:30 pm – 13:30 pm Cluster Hands-on (MareNostrum)

13.30 pm – 14.30 pm Lunch Break

 

Session 4 / 2:30pm – 16:30pm (2h practical)

14.30 pm – 16.00 pm practical session on parallelizing with COMPSs (bring your own code)

16:00 pm – 16:30 pm COMPSs Installation and Final Notes

16:30pm - Adjourn

 

END of COURSE

 

 

Support
The agenda of this meeting is empty