1 of 34

Access HTCondor and the Open Science Pool using a Jupyter Interface

Rachel Lombardi

OSG Research Facilitation Team

February 21, 2023

1

2 of 34

Introductions

2

3 of 34

Research Computing Facilitators are Here to Help!

Showmic Islam

​

​

​

Rachel Lombardi

​

​

​

Mats

Rynge

​

​

​

  • Email: support@osg-htc.org
  • Drop-in Office Hours: Tuesday 3-4:30pm CT & Thursday 10:30am-12pm CT

Christina Koch

3

4 of 34

Before We Start

We welcome questions! To ask questions, please raise your hand, post to the chat, or ask out loud.

Part of this workshop is hands-on! You are welcome to follow along (we will walk through the steps together) or to simply watch.

4

5 of 34

Before We Start

We welcome questions! To ask questions, please raise your hand, post to the chat, or ask out loud.

Part of this workshop is hands-on! You are welcome to follow along (we will walk through the steps together) or to simply watch.

5

The OSPool’s JupyterLab interface is a new feature – all feedback is welcome!

6 of 34

Agenda

Getting Started with the OSPool’s Jupyter Interface

Guest Accounts versus Full Accounts

Explore JupyterLab Interface

Hands-on: HTCondor Job Submission

Next Steps

6

7 of 34

Primary Learning Objective

To explore the OSPool’s Jupyter interface and use it to submit HTCondor jobs.

​

Learning Outcomes:

  • Introduce the OSPool’s Jupyter interface
  • Understand the differences between Guest Accounts and Full Accounts
  • Discuss workflows that are suited for this resource
  • How to use a Jupyter interface to submit HTCondor jobs

​

​

​

7

8 of 34

Getting Started with the �OSPool’s Jupyter Interface�

8

9 of 34

Open an internet browser and enter: https://notebook.ospool.osg-htc.org

9

10 of 34

Log into an OSPool Access Point Using Jupyter

Login using any of the available authentication options. Some choices:

  • Your academic, government, or non-profit institution are best
    • Needed for full account
  • ORCID
    • Takes ~3 min to create an ORCID ID, if needed
  • GitHub
  • And more!

​

10

11 of 34

Available JupyterLab Options

11

* Offerings subject to change

12 of 34

Available JupyterLab Options

* Offerings subject to change

12

Available

Interfaces

13 of 34

User Accounts

13

Changes depending on the service you used to authenticate with:

14 of 34

Offerings Depend on JupyterLab Env

​

​

14

Data Science Includes libraries for data analysis from the Julia, Python, and R communities. Includes the HTCondor command-line utilities and Python bindings.

​

Basic Includes basic command-line tools. Includes the HTCondor command-line utilities and Python bindings.

15 of 34

Offerings Depend on JupyterLab Env

​

​

15

Let’s Launch a

Basic Notebook

​

Basic Includes basic command-line tools. Includes the HTCondor command-line utilities and Python bindings.

16 of 34

Guest Accounts versus Full Accounts

16

17 of 34

Users with accounts on ap7.ospool.osg-htc.org can access their /home directory using a GUI Jupyter interface or a standard terminal interface

17

Only users with accounts on ap7.ospool.osg-htc.org (not login04/05) have full access accounts

18 of 34

Guest vs. Full Accounts

18

Full Access Accounts

  • Users are allowed to submit jobs to the OSPool
  • Data persists even if you log out → OSG resources are not long-term storage solutions

​

​

​

Guest Accounts

  • Users cannot submit jobs to the OSPool
  • Data is cleared out on a routine basis

19 of 34

Use Cases

19

Full Access Accounts

Good fit for users

  • who want to submit jobs to execution points on the OSPool and who also want to run post-processing steps with an access point-like environment
    • This means you can run more intensive post- or pre-processing steps that cannot be run directly on login04 and login05 access points without impacting other users
  • Want a graphical user interface (GUI) to interact with
  • Use Jupyter resources

​

​

​

​

Guest Accounts

Good fit for users

  • Exploring HTCondor and practicing job submission
  • Understanding how to restructure an existing workflow to run on the OSPool

20 of 34

Behind the Scenes

20

Full Access Accounts

  • Access point and execution point are separate

Guest Accounts

  • Access point and execution point are run in a Jupyter environment

Access Point

Execution Point

Jupyter

condor_submit

Access Point

Execution Point

Jupyter

condor_submit

Execution Point

Execution Point

Execution Point

Execution Point

Execution Point

Open Science Pool

condor_status: prints one execution point slot

condor_status: prints all slots

in the OSPool

21 of 34

Behind the Scenes

21

Full Access Accounts

  • Access point and execution point are separate

Guest Accounts

  • Access point and execution point are run in a Jupyter environment

Access Point

Execution Point

Jupyter

condor_submit

Access Point

Execution Point

Jupyter

condor_submit

Execution Point

Execution Point

Execution Point

Execution Point

Execution Point

Open Science Pool

Access + Execution Resources�4 CPU cores

8 GB RAM

10 GB Disk

Access Point Resources

8 CPU cores�16 GB RAM�50 GB Disk (Default)

22 of 34

Explore JupyterLab Interface

22

23 of 34

Offerings Depend on JupyterLab Env

​

​

23

Data Science Includes libraries for data analysis from the Julia, Python, and R communities. Includes the HTCondor command-line utilities and Python bindings.

​

Basic Includes basic command-line tools. Includes the HTCondor command-line utilities and Python bindings.

24 of 34

Offerings Depend on JupyterLab Env

​

​

24

Let’s Launch a

Basic Notebook

​

Basic Includes basic command-line tools. Includes the HTCondor command-line utilities and Python bindings.

25 of 34

Workflow Items of Note

25

Differences

Guest Account

Full Account

Command `whoami`

Jovyan�

ap7.ospool.osg-htc.org username

Command `condor_status`

One execution point

All available OSPool execution points

Command `condor_q -all`

Lists only your (jovyan’s) jobs

Lists all jobs submitted from a standard OSPool access point

Data staging locations

/home�

​

/home

​

Future development: /public, /protected

26 of 34

HTCondor Job Submission

26

27 of 34

Hands-On

27

Open a terminal window and type:�

$ tutorial osg-hostname

$ cd tutorial-osg-hostname

$ ls

print-hostname.sh

hostname.submit

README.md

​

​

​

​

​

#!/bin/bash

​

echo $HOSTNAME

28 of 34

Hands-On

28

Open a terminal window and type:�

$ tutorial osg-hostname

$ cd tutorial-osg-hostname

$ ls

print-hostname.sh

hostname.submit

README.md

​

​

​

​

HTCondor submit files for Guest Accounts should include `should_transfer_input = YES` for submit files that use relative or absolute paths

29 of 34

Hands-On

29

Guest account output lists hostname of the Jupyter container

​

$ cat job.*.output | sort | uniq -c

​

100 jupyter-email-3arachellombardi-40gmail-2ecom

30 of 34

Hands-On

30

Full account output lists hostnames on the OSPool

​

$ cat job.*.output | sort | uniq -c

​

1 asx9

2 cc-cpu-01.hpc.siue.edu

1 cc-cpu-06

1 chpc-compute-12-0

1 cit2-c056.mwt2.org

1 cn441

2 compute-0-3.local

1 CRUSH-OSG-C7-10-5-139-154

3 CRUSH-OSG-C7-10-5-254-229

2 d12chas551.crc.nd.edu

2 d12chas580.crc.nd.edu

1 discovery-c14

1 hawk-a220

2 hawk-a621

1 iut2-c390.iu.edu

​

4 iut2-c395.iu.edu

2 lnxfarm202.colorado.edu

1 lnxfarm335.colorado.edu

1 n006

2 node0934.palmetto.clemson.edu

9 nodo85

8 OSG-17.local

1 osg-287727-0-fnpc22029.fnal.gov

1 osg-288502-0-fnpc22015.fnal.gov

12 OSG-6.rc.asu.edu

2 uct2-c413.mwt2.org

1 uct2-c431.mwt2.org

6 uct2-c440.mwt2.org

12 uct2-c500.mwt2.org

2 uct2-c555.mwt2.org

2 uct2-c580.mwt2.org

2 uct2-c636.mwt2.org

1 warlock03

2 warlock07

1 warlock14

1 wizard33

31 of 34

Log off

​

Hub Control Panel

31

File → Hub Control Panel → “Stop my Server” → “Logout”

32 of 34

Next Steps

You are welcome to continue using the Guest Account feature! We encourage you to share it with others to allow them to explore HTCondor and OSG services.

​

If you would like to request a Full Account, see Requesting an OSPool ap7.ospool.osg-htc.org Account

​

32

33 of 34

Questions?

33

34 of 34