1 of 26

Cluster Computing for Humans

-OR- How I learned to love be ok with HPC Pack

Tim Ribaric

@elibtronic

2 of 26

Ups and Downs

  • I'm not a fan of Windows, Microsoft, or any large commerical platforms

  • I barely stomach this whole story so no need to point out how ironic this is

  • Also please don't point out I'm currently using a Mac

3 of 26

Parallel Computing

  • Is complicated

  • Takes a lot of effort to change a serial task in a parallel one

  • If this is for a one-off project, that is a big ask

4 of 26

Your Computer Lab(s)

  • Probably have a bunch of PCs sitting in them

  • Is closed at least part of the day, presumably your patrons and staff need to sleep here and there

  • There's a free MS tool that lets you harness those idle resources

5 of 26

Parts

6 of 26

Other Clustering Paradigms?

Probably many, many others...

7 of 26

Small Example

  • Normally your computer has 2-4 cores of processing power

  • 38 terminals in Classroom A (our main lab space) x 4 Cores = 152 Available Cores

  • About a 5 times increase in computing resources

8 of 26

Head

Node

User

Network

Storage

Node 01

Node 02

Node 03

Node 36

Node 37

Node 38

...

Diagram

9 of 26

  • You can use any application on the machine (eg. Rendering frames with Blender)
  • A script written in Python, Java, etc.
  • GPUs can be treated as addressable units for all your cryptocurrency needs *ahem*

What can you do?

10 of 26

EG from Real Life

11 of 26

EG.

12 of 26

  • Place scripts / data on network accessible storage

EG.

13 of 26

  • Connect to Head Node and Configure Task

EG.

14 of 26

EG.

15 of 26

EG.

16 of 26

EG.

17 of 26

EG.

18 of 26

Heavy job on 10 nodes, 6 days to run

EG.

19 of 26

Heavy Job, 20 nodes

Ran for 2 day, power outage affected

EG.

20 of 26

EG.

Heavy Job, 20 nodes

Going on 16 days and counting

21 of 26

Getting Sneaky

  • Windows now has native support for Linux

  • Can run those Linux specific scripts in Windows Yo!

22 of 26

Windows Subsystem for Linux

23 of 26

Getting Sneaky

  • Easier to convince an overworked SysAdmin to install:
    • Head Node Software
    • Client on workstations

As opposed to investigating another paradigm and configuring a ton of features

24 of 26

  • Classroom A
    • 38 x 4 cores = 152
  • All potential Library terminals
    • 130 x 4 cores = 520
  • Potential Contribution from ITS Labs* (Kitchen Sink)
    • 350 x 4 cores = 1400

https://brocku.ca/information-technology/info/computer-labs-and-printing/#computer-labs

Potential at Brock

25 of 26

Scaling outside of the institution

  • This paradigm of clustering can be extended to Cloud Based Azure services!

26 of 26

Thanks for listening

  • Would you have a use for this?
  • How do you sell this to normal mortals?

Tim Ribaric

@elibtronic

tribaric@brocku.ca