This BSC Training Course will be delivered in person in C6 Building -E106 Room, UPC Campus Nord and online via Zoom.

Please, bring your own laptop. All BSC Training Courses 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

Raul Sirvent, Senior Researcher, Computer Sciences - Workflows and Distributed Computing Department, BSC

Fernando Vázquez, Research Engineer, Computer Sciences - Workflows and Distributed Computing Department, BSC

Cristian Tatu, Research Engineer, 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 Python, Java, and C/C++ 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). The exercises will be mainly delivered in Python, with one lesson delivered in Java. In case of Python, Jupyter notebooks will be used in some of the exercises.

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: 

  • Operating system basics: 

The tutorial hands-on will be performed on linux-based systems and it is required that the attendees have some background at user-level of Linux. If you are not familiar with Linux and Bash, you must complete at least one of the following tutorials before the first day of the tutorial:

* Ubuntu tutorials: The command line for beginners - https://ubuntu.com/tutorials/command-line-for-beginners

* Codecademy: Learn the command line - https://www.codecademy.com/learn/learn-the-command-line

* Ryanstutorials: Linux tutorial - https://ryanstutorials.net/linuxtutorial/

* Geek's lesson: Top 7 bash commands for Unix/Linux and Mac users - https://www.youtube.com/watch?v=96UCrFVyrxg

For Windows users, you can follow these tutorials by running Linux on a Virtual Machine (https://ubuntu.com/tutorials/how-to-run-ubuntu-desktop-on-a-virtual-machine-using-virtualbox#1-overview) or using the Windows Subsystem for Linux (https://learn.microsoft.com/en-us/windows/wsl/setup/environment).

  • Programming language basics: 

The hands-on will be based on examples in Python. If you are not familiar with Python, you can learn some basics here -  https://docs.python.org/3/tutorial/index.html

  • Requirements for provenance hands-on: 

If you do not have one, create your Researcher ID at http://orcid.org/

You also need to create a WorkflowHub user account in advance:

* Create your WorkflowHub account:

    * Open https://workflowhub.eu/

    * Click “Register”

        * “Log in using GitHub” or

        * Register with your e-mail

            * Mandatory: First name, Last name, e-mail. Recommended: ORCID

            * Confirm registration with received e-mail

* Join “COMPSs Tutorials” team (“eFlows4HPC” Space):

    * Join a Team”

        * Search for ”COMPSs Tutorials”

        * Organization:

            * Search for your institution not only by acronym, also with full words

            * Can try also: Browse -> Organizations -> Country (filter)

        * If not found: Create -> Organization

Starts
Ends
CET
C6 Building
E101
UPC Campus Nord, Barcelona

If you are planning to attend online, please click here for the Zoom meeting link

For further details and practical info, please visit the local course page: https://www.bsc.es/education/training/bsc-training