What resources when: Difference between revisions

From Stat DS Computing Wiki
Jacobg2 (talk | contribs)
No edit summary
 
(24 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
[[Category:Department Servers]]
[[Category:Wright Cluster]]
[[Category:PSC]]
[[Category:Remote Server Access]]
To try to answer the common question “what resources do I have access to and when should I use them”, below we present to approaches to answering the question. The first of which focuses on what resources exist and what they should be used for and the second tries to answer resource needs / current computing problems with resources to fit those needs/ solve those problems.
To try to answer the common question “what resources do I have access to and when should I use them”, below we present to approaches to answering the question. The first of which focuses on what resources exist and what they should be used for and the second tries to answer resource needs / current computing problems with resources to fit those needs/ solve those problems.


After you’re found the resource you think you’d like to use (or even when you’re still deciding), we strongly encourage you to attend an computing office hour to help discuss all the things you should be thinking about and get you on the right track quickly.
After you’re found the resource you think you’d like to use (or even when you’re still deciding), we strongly encourage you to attend an computing office hour to help discuss all the things you should be thinking about and get you on the right track quickly.


= What computing resources do you have access to =
== What computing resources do you have access to ==


== Your personal computer ==
=== Your personal computer ===


Your personal computer is great for small jobs that take less than 30 minutes, uses few cores and not too much RAM.
Your personal computer is great for small jobs that take less than 30 minutes, uses few cores and not too much RAM.
Line 12: Line 15:
'''Pro:'''
'''Pro:'''


#Naturally the easiest tool to use since it’s yours. Best for short jobs that require only a few cores.  
#Naturally the easiest tool to use since it’s yours.  
#Install whatever you want.
#Nobody else is hogging it.


'''Cons:'''
'''Cons:'''


#
#
capacity:


#*few cores: 4-8 cores common on laptops<ref><p>From [http://laptopmag.com/articles/Cpu-comparison laptopmag]</p></ref> (multiply processes per cors means = 8-16 “cores”).  
* capacity:
#*low RAM: 4-32 GB of common on laptops<ref><p>From [http://digitaltrends.com/computing/how-much-ram digitaltrends]</p></ref>, used across all cores  
**few cores: 4-8 cores common on laptops (hyperthreading means 8-16 “cores”).
#*“no” GPUs: you don’t have GPUs that are optimized for Deep Learning  
**low RAM: 4-32 GB of common on laptops, used across all cores
 
**“no” GPUs: you don’t have GPUs that are optimized for Deep Learning
#
*You're using your laptop for other things, and running a big job will slow everything down when you're trying to do your homework
other usage: You often want to use your computer for other things (and it’s built for that exact thing). It’s possible you or someone you know has has had to leave their laptop at home for the day/ run lode oernight When they need to run something intensive -OR- long. But you need that laptop for other work / homework…
*If your job lasts many hours, you may have to leave your laptop at home or leave it running overnight; or you may have problems when you close your laptop to take the bus.
 
The below XKCD comic doesn’t have to be you… (though breaks are good):
 
[[File:Compiling.png|thumb|none|https://xkcd.com/303/]]


[[File:Compiling.png|thumb|This does not have to be you (though it's good to take breaks) https://xkcd.com/303/|alt=]]


'''Conclusion:''' Your personal computer isn’t the best for when doing a lot of computing and its easy to put jobs elsewhere!
'''Conclusion:''' Your personal computer isn’t the best for when doing a lot of computing and its easy to put jobs elsewhere!
Line 43: Line 44:
*[[Parallel_computing|parallelization]]  
*[[Parallel_computing|parallelization]]  


== The <code>hydras</code> (the department servers) ==
=== The department servers ===


The departmental servers should be seen as a “sandbox”. You can experiment with lots of things on the servers and it doesn’t cost you much to do. The hydras have a decent amount of RAM per core (much more than your personal computer), but often it won’t run a lot faster than if you put you’re computer aside and did the same thing on it (though a large pro is you don’t have to stop using your own computer when running jobs on the hydras).
The departmental servers should be seen as a “sandbox”. You can experiment with lots of things on the servers and it doesn’t cost you much to do. The Leviathans and Hydras have more RAM than a typical laptop. The Leviathans also have top-of-the-line CPUs that should be faster than most laptops, though the Hydras have older CPUs that may not be faster than running code on your own laptop.


'''Pros:'''
'''Pros:'''


#Best for long but smaller core jobs  
#Best for long-running jobs
#Decent amount of RAM per core (32 GBs)  
#Plenty of RAM per machine (128 GB on Leviathans + hydra7 and 8, 64 GB on other hydras)
#Very low barrier to entry (aka easy to get started)  
#Very low barrier to entry (aka easy to get started)
#File management system shares across different hydra servers  
#File management system shares across all servers


'''Cons:'''
'''Cons:'''


#usage: The department server is a bit of a “wild-west” in terms of usage (it varies how many people use it at a given time)  
#usage: The department server is a bit of a “wild-west” in terms of usage (it varies how many people use it at a given time)  
#cores per server: the number of cores per server is only 12, and ''currently'' you can’t run jobs across multiple cores easily
#cores per server: the number of cores per server is only 12 (Hydras) or 16 (Leviathans)


'''Conclusion:''' Great place to start for more intensive computing.
'''Conclusion:''' Great place to start for more intensive computing.
Line 64: Line 65:


*[[Linux_and_department_servers|Linux and department servers]]  
*[[Linux_and_department_servers|Linux and department servers]]  
'''Server Monitoring'''
* [https://info.stat.cmu.edu/grafana/d/beuw1q6y3dgjkc/hydra-cluster?orgId=1 Hydra Cluster Usage Monitor]
* [https://info.stat.cmu.edu/grafana/d/asjkldfbnvajdsfh213/leviathan-cluster?orgId=1 Leviathan Cluster Usage Monitor]


== PSC (Pittsburgh supercomputer center) ==
== PSC (Pittsburgh supercomputer center) ==
Line 85: Line 90:
*[[Slurm|Slurm]]  
*[[Slurm|Slurm]]  


== Azure ==
== GPU Computing ==
The Statistics & Data Science Department offers two main GPU computing environments.


Getting an virtual Azure machine is often only needed if you need access to GPUs and you want complete prioritization of your jobs. There are other reasons to utilize Azure, but there are start-up costs and there are only so many department credits to go around (that doesn’t mean you shouldn’t use it).
'''Ghidorahs'''


'''Pros:'''
* 3 physical servers
* RTX 4090 GPUs
* Connected to the Stats network share
* Your statistics directory account will grant you access


#personal virtual computing that can be used only by you (maybe also a small lab group)
'''Wright'''
#very flexibly it what is available (e.g.&nbsp;#cores, RAM, GPU vs CPU, etc)


'''Cons:'''
* For a detail overview, please check [[GPU Cluster|here]]
* You must request access
* The Statistics network share is not accessible


#Start-up costs are higher (requires more understanding of system administration)
== Computing resource flowchart ==
#Requires more clear understanding of the costs as it isn’t free
#Some resources might not be available relative to department allocations
 
'''Associated Articles''':
 
*[[Azure_getting_started|Azure: getting started]]
 
= Computing resource flowchart =


These flow charts try to help capture what’s available and when you might use them.
These flow charts try to help capture what’s available and when you might use them.


After choosing a cluster that supports your workload, you can visit the links below to view the current resource usage of each server and any currently logged in users.
Visit the links below to view current computing resource usage. Select a server with the least amount of users and lowest resource usage.
 
Choose a server with the least amount of users and lowest resource usage.


* [https://info.stat.cmu.edu/grafana/d/fdkb6l4klj400d/hydra-cluster?orgId=1 Hydra Cluster Usage Monitor]
* [https://info.stat.cmu.edu/grafana/d/fdkb6l4klj400d/hydra-cluster?orgId=1 Hydra Cluster Usage Monitor]


* [https://info.stat.cmu.edu/grafana/d/edkar1rgy3l6od/ghidorah-cluster?orgId=1 Ghidorah Cluster Usage Monitor]
* [https://info.stat.cmu.edu/grafana/d/edkar1rgy3l6od/ghidorah-cluster?orgId=1 Ghidorah Cluster Usage Monitor]
 
[[File:ProblemsOnYourPersonalComputerUpdated.png|center|thumb|1000x1000px]]
== Problems on your personal computer? ==
<pre>                            ┌─────────────────────────────────────┐
                            │                                    │
                            │    your personal computer is/are:   │
                            │                                    │
                            └─────────────────┬───────────────────┘
                                              │
                ┌──────────────────────────────┼───────────────────────────────┐
                │                              │                              │
  ┌────────────▼────────────┐    ┌───────────▼───────────┐      ┌────────────▼─────────────┐
  │                        │    │                      │      │                          │
  │ A job slowing down your │    │ Jobs taking too long? │      │ Jobs crashing computer?  │
  │  personal computer?    │    │                      │      │  (using too much RAM?)  │
  │                        │    └───────────┬───────────┘      │                          │
  └────────────┬────────────┘                │                  └────────────┬─────────────┘
                │                              │                              │
                │                ┌─────────────┴──────────────┐                │
                │                │                            │                │
                └──────────┬─────┼─────────────────────┐      │  ┌────────────┴───────────┐
                          │    │                    │      │  │                        │
            ┌─────────────▼─────▼──────┐  ┌──────────▼──────▼───▼───┐                    │
            │                          │  │                        │      ┌─────────────▼───────────┐
            │  Can it be broken into  │  │ do you think your code  │      │ How much RAM could you  │
            │    multiple pieces?      │  │    is inefficient?      │      │    use per process?    │
            │                          │  │                        │      │                        │
            └───────────┬──────────────┘  └──▲──────────┬───────────┘      └───────────┬─────────────┘
                        │                    │          │                              │
              ┌─────────┴─────┐              │    ┌─────┴────┐                ┌───────┴───────┐
              │              │              │    │          │                │              │
          ┌────▼─┐          ┌──▼──┐    ┌──────┘ ┌──▼──┐    ┌──▼───┐        ┌───▼────┐      ┌───▼─────┐
          │ yes  │          │ no  │    │        │ yes │    │  no  │        │&lt; 32 GB │      │ &gt; 32 GB │
          └───┬──┘          └──┬──┘    │        └──┬──┘    └──────┘        └───┬────┘      └────┬────┘
              │                │        │          │                            │                │
      ┌──────▼──────────┐    │        │  ┌───────▼─────┐                      │                │
      │ parallelize it! │    │        └───┤ profile it! │                      │                │
      └─────┬───────────┘    │        ▲  └──────┬──────┘                      │                │
            │                │        │          │                        ┌────▼─────┐    ┌─────▼────────┐
            │                │    ┌──┘          │                        │  hydras  │    │ PSC or Azure │
            │                │    │            │                        └──────────┘    └──────────────┘
            │                │    │            │
            │                │    │            │
            │                │    │            │
            │                │    │            │
┌────────────▼──────────┐      │    │  ┌──────────▼───────────┐
│ how many cores could  │      │    └──┤ speed it up with C++ │
│  you benefit from?  │      │        └──────────────────────┘
└──────────┬────────────┘      │
          │                  │
          │                  │
          │                  │
          │                  │
          │          ┌───────▼───────────┐
          │          │ put it on a hydra │
          │          │  and move on.   │
          │          └───────────────────┘
          │
      ┌───┴───────────┬───────────────┐
      │              │              │
┌──────▼─────┐  ┌──────▼────┐    ┌────▼───────┐
│ < 12 cores │  │> 12 cores │    │>> 12 cores │
└─────┬──────┘  └────┬──────┘    └─────┬──────┘
      │              │                  │
      │              │                  │
      │      ┌──────▼─────────┐      ┌─▼───┐
┌────▼──┐    │    multiple    │      │PSC  │
│ hydra │    │    hydras    │      └─────┘
└───────┘    │      or        │
              │  PSC / Azure  │
              └────────────────┘
</pre>
 
== Building a big Neural Network? ==
<pre>                ┌───────────────────────┐
                │ Need to train a large │
                │    Neural Network?    │
                └───────────┬───────────┘
                            │
                            │
                    ┌───────▼───────┐
                    │Do you really? │
                    └───────┬───────┘
                            │
                            │
                  ┌─────────┴───────────┐
                  │                    │
              ┌───▼─┐          ┌───────▼─────┐
              │ yes │          │ no a linear │
              └──┬──┘          │ regression  │
                │              │ should work │
                │              └─────────────┘
                │
                │
┌────────────────▼───────────────────┐
│              Azure                │
│    email remarks@stat.cmu.edu    │
│ directly due to access constraints │
└────────────────────────────────────┘</pre>
 
== Don’t have a computer? ==
<pre>                                    ┌─────────────────────────┐
                                    │                        │
                                    │ Don't have a computer / │
                                    │  computer in the shop?  │
                                    │                        │
                                    └────────────┬────────────┘
                                                  │
                                    ┌────────────▼─────────────┐
                                    │                          │
                                    │ how long don't you have  │
                                    │      a computer?        │
                                    │                          │
                                    └────────────┬─────────────┘
                                                  │
                                ┌─────────────────┴──────────────────────┐
                                │                                        │
                      ┌─────────▼──────────┐                  ┌─────────▼──────────┐
                      │                    │                  │                    │
                      │  multiple weeks?  │                  │  just a few days?  │
                      │                    │                  │                    │
                      └─────────┬──────────┘                  └─────────┬──────────┘
                                │                                        │
                                │                                        │
                                │                                        │
                                │                          ┌────────────▼─────────────┐
                ┌──────────────▼───────────────┐          │                          │
                │                              │          │ University computer labs │
                │ the department has loaners!  │          │            +            │
                │                              │          │  unix.cmu.edu server    │
                │ email remarks@stat.cmu.edu / │          │                          │
                │        visit Carl            │          └──────────────────────────┘
                └──────────────────────────────┘</pre>
 
<references />


From [http://laptopmag.com/articles/Cpu-comparison laptopmag]
From [http://laptopmag.com/articles/Cpu-comparison laptopmag]
<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2. <font color="blue">↑</font>  
<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2. <font color="blue">↑</font>  
From [http://digitaltrends.com/computing/how-much-ram digitaltrends]
From [http://digitaltrends.com/computing/how-much-ram digitaltrends]

Latest revision as of 15:03, 7 July 2026

To try to answer the common question “what resources do I have access to and when should I use them”, below we present to approaches to answering the question. The first of which focuses on what resources exist and what they should be used for and the second tries to answer resource needs / current computing problems with resources to fit those needs/ solve those problems.

After you’re found the resource you think you’d like to use (or even when you’re still deciding), we strongly encourage you to attend an computing office hour to help discuss all the things you should be thinking about and get you on the right track quickly.

What computing resources do you have access to

Your personal computer

Your personal computer is great for small jobs that take less than 30 minutes, uses few cores and not too much RAM.

Pro:

  1. Naturally the easiest tool to use since it’s yours.
  2. Install whatever you want.
  3. Nobody else is hogging it.

Cons:

  • capacity:
    • few cores: 4-8 cores common on laptops (hyperthreading means 8-16 “cores”).
    • low RAM: 4-32 GB of common on laptops, used across all cores
    • “no” GPUs: you don’t have GPUs that are optimized for Deep Learning
  • You're using your laptop for other things, and running a big job will slow everything down when you're trying to do your homework
  • If your job lasts many hours, you may have to leave your laptop at home or leave it running overnight; or you may have problems when you close your laptop to take the bus.
This does not have to be you (though it's good to take breaks) https://xkcd.com/303/

Conclusion: Your personal computer isn’t the best for when doing a lot of computing and its easy to put jobs elsewhere!

Common use-cases

  1. Most class projects
  2. Non-data problems
  3. Non-complex structure problems

Associated Articles:

The department servers

The departmental servers should be seen as a “sandbox”. You can experiment with lots of things on the servers and it doesn’t cost you much to do. The Leviathans and Hydras have more RAM than a typical laptop. The Leviathans also have top-of-the-line CPUs that should be faster than most laptops, though the Hydras have older CPUs that may not be faster than running code on your own laptop.

Pros:

  1. Best for long-running jobs
  2. Plenty of RAM per machine (128 GB on Leviathans + hydra7 and 8, 64 GB on other hydras)
  3. Very low barrier to entry (aka easy to get started)
  4. File management system shares across all servers

Cons:

  1. usage: The department server is a bit of a “wild-west” in terms of usage (it varies how many people use it at a given time)
  2. cores per server: the number of cores per server is only 12 (Hydras) or 16 (Leviathans)

Conclusion: Great place to start for more intensive computing.

Associated Articles:

Server Monitoring

PSC (Pittsburgh supercomputer center)

The Pittsburgh supercomputer center provides supercomputers than have massive amounts of cores (but also can find some with large RAMs and GPUs). Generally speaking, the supercomputing resources are often used when you have extremely parallelizable code that would take a very long time if you ran it on just a few cores (e.g. your computer or a few hydras).

Pros:

  1. A massive amount of cores and RAM that can be leveraged for extremely parallelizable computing
  2. Easier to access in the statistics department

Cons:

  1. Requires learning of new job management system (though quick to learn - see [Slurm])
  2. Some options to access the resources can take time or require going through your advisor
  3. currently (2021) has been having problems with servers crashing

Associated Articles:

GPU Computing

The Statistics & Data Science Department offers two main GPU computing environments.

Ghidorahs

  • 3 physical servers
  • RTX 4090 GPUs
  • Connected to the Stats network share
  • Your statistics directory account will grant you access

Wright

  • For a detail overview, please check here
  • You must request access
  • The Statistics network share is not accessible

Computing resource flowchart

These flow charts try to help capture what’s available and when you might use them.

Visit the links below to view current computing resource usage. Select a server with the least amount of users and lowest resource usage.

From laptopmag
     2. ↑ From digitaltrends