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