SlideShare une entreprise Scribd logo
1  sur  47
Computing Hardware
                                      Jeff Allen
        Quantitative Biomedical Research Center
                UT Southwestern Medical Center
                          BSCI5096 - 3.26.2013
Outline




• Servers
• Clusters
• The Cloud
Outline



• Servers
  – Concepts & Definitions
  – Novel properties of servers
• Clusters
• The Cloud
Servers – Concepts & Definitions

   “A computer or program that
supplies data or resources to other
     machines on a network.”

  • File Server                                            • Email Server
  • Database Server                                        • iTunes Server
  • Web Server                                             • Computing Server



      server. (n.d.). Collins English Dictionary - Complete & Unabridged 10th Edition. Retrieved March 25, 2013,
                      from Dictionary.com website: http://dictionary.reference.com/browse/server
Servers – Concepts & Definitions



• Same hardware
  components as your
  Personal Computer
  – Processor, Memory, Pow
    er Supply, Hard Drive
• Often stacked in a rack



            Image from: http://www.stealth.com/industrial_rackmounts_sr1501datasheet.htm
Servers – Concepts & Definitions



• Same hardware
  components as your
  Personal Computer
  – Processor, Memory, Pow
    er Supply, Hard Drive
• Often stacked in a rack



                   http://www.daystarinc.com/hosting-facility
Is this a server?




Image from: http://www.stealth.com/industrial_rackmounts_sr1501datasheet.htm
Is this a server?




Image from: http://mediapool.getthespec.com/media.jpg?m=gBLSSTJ6IbHLuZD1JNnmyw%3D%3D&v=HR
Is this a server?




Image from: http://www.maximumpc.com/articles/reviews/hardware
Is this a server?




                    Image from: http://www.phonearena.com/image.php?m=Articles.Images&f=name&id=28259&name=GT-
I8520_1.jpg&caption=&title=Image+from+%22UPDATED%3A+Samsung+I8520+is+an+Android+phone+with+built-in+projector%22&kw=&popup=1
Is this a server?
Common Attributes of a Server

• Often runs an Operating System geared
  towards servers.
• Primarily accessed remotely
  – Often “headless” (no monitor)
• Runs 24/7, minimize downtime
• May be kept in a data center
  – Superior cooling, increased security, etc.
• Redundancy (Power, Disk Storage)
• More powerful and expensive
Operating System

Client PCs                    Servers
• Windows (XP, Vista, 7, 8)   • Linux (Red Hat, Suse
• Mac OS                        Enterprise, Ubuntu
• Linux                         Server)
  (Ubuntu, Mint, openSUS      • Windows (Windows
  E)                            Server 2003, 2008, 2012)
                              • Non-Linux Unix
                                (BSD, Solaris, AIX)
Remote Access & the Shell

• Typically don’t have
  physical access to the
  server, must access
  over a network
• Windows is heavily
  graphical, access
  using “Remote
  Desktop”




             Image from http://www.softsalad.com/software/remote-desktop-control.html
Remote Access & the Shell

• Typically don’t have
  physical access to the
  server, must access
  over a network
• Windows is heavily
  graphical, access
  using “Remote
  Desktop”
• Linux is less
  graphical, access via
  a “Shell”
             Image from http://www.softsalad.com/software/remote-desktop-control.html
Shell Access


1. User logs in
2. User types command
3. Computer executes                                                            Shell
   command and prints
   output
4. User types another
   command
5. …
6. User logs off

             Modified from http://software-carpentry.org/4_0/shell/intro.html
Shell Comparison

Windows (Graphical)                          Linux (Shell)




             Image from http://www.dedoimedo.com/computers/windows-7.html
Shell Comparison

Windows (Graphical)   Linux (Shell)
Shell Comparison

Windows (Graphical)   Linux (Shell)
Shell Access

• Slow learning curve
• Can often be confusing at first, requires a new way
  of thinking
• Ultimately very powerful and efficient
• Three reasons to use:
  1. It’s your only choice for remote access on some non-
     graphical systems
  2. Many software tools only offer Command Line
     interfaces
  3. Allows for powerful new combinations of tools

                Modified from http://software-carpentry.org/4_0/shell/intro.html
Data Centers




• Redundant, independent power feeds
  – Diesel generator backup
• Redundant Internet connections
• Redundant cooling
• 24/7/365 staffing, restricted access
RAID


Disk 1
                 • “Redundant Array of
Disk 2             Independent Disks”
         RAID
                 • Store information
Disk 3
         Array     redundantly
Disk 4           • Support failure of
                   one or more hard
Disk 5
                   drives without losing
                   data
Server Computing Power



• Often very expensive machines
• Hardware designed to support more resources
  than a PC
  – May have dozens or hundreds of GB of RAM
  – Very expensive powerful processor, or even
    multiple processors
Outline



• Servers
• Clusters
  – Motivation & Concept
  – Job submission
  – Example
• The Cloud
Example Problem



• Group of 10
  researchers
• Too many concurrent
  users, runs slowly
• Have some very large
  jobs
Naïve Solution


• Buy more independent
  servers!
• Let people connect to
  whichever server they
  want
• Problems:
  – Not sure which servers
    are busiest
  – Still takes weeks to run
    big simulations
Clustered Solution
• Servers are “nodes” in a
  cluster
• Log in via head node
• Head node manages
  requested jobs
  – Submits them to “worker”
    or “slave” nodes
  – Intelligently calculates
    available resources on
    each worker node
• Multiple nodes can work
  on a single task
Job Submission

• Prepare a script to be executed (“myjob.sh”)
  – Include specifications on resources required
     • (“-l nodes=2:ppn=4”)
  – Or what queue it should be submitted to
     • Different queues have different priorities and permissions

• Submit that job to the head node (“qsub
  myjob.sh”)
• Head node will begin executing as soon as it
  has sufficient resources
Clustered Solution
Clustered Solution




     Job #1
      User: User4
      Nodes Req’d: 1
      Program: align.sh
Clustered Solution




Job #1
 User: User4
 Nodes Req’d: 1
 Program: align.sh
Clustered Solution




Job #1
 User: User4
 Nodes Req’d: 1
 Program: align.sh
Clustered Solution




                          Job #2
Job #1
                           User: User9
 User: User4
 Nodes Req’d: 1            Nodes Req’d: 1
 Program: align.sh         Program:
                          simul.sh
Clustered Solution

Job #2
 User: User9
 Nodes Req’d: 1
 Program: simul.sh




Job #1
 User: User4
 Nodes Req’d: 1
 Program: align.sh
Clustered Solution

Job #2
 User: User9
 Nodes Req’d: 1
 Program: simul.sh




Job #1
 User: User4
 Nodes Req’d: 1
 Program: align.sh
Clustered Solution

Job #2
 User: User9
 Nodes Req’d: 1
 Program: simul.sh




                          Job #3
Job #1                     User: User2
 User: User4
 Nodes Req’d: 1            Nodes Req’d: 2
 Program: align.sh         Program:
                          splice.sh
Clustered Solution
                                  Queued
                               Job #3
Job #2                          User: User2
 User: User9                    Nodes Req’d: 2
 Nodes Req’d: 1                 Program:
 Program: simul.sh             splice.sh




Job #1
 User: User4
 Nodes Req’d: 1
 Program: align.sh
Clustered Solution
                                  Queued
                               Job #3
Job #2                          User: User2
 User: User9                    Nodes Req’d: 2
 Nodes Req’d: 1                 Program:
 Program: simul.sh             splice.sh




Job #1
 User: User4
 Nodes Req’d: 1
 Program: align.sh
Clustered Solution
                                          Queued
                                      Job #3
                                       User: User2
                                       Nodes Req’d: 2
                                       Program:
                                      splice.sh




                           Job #2
Job #1
                            User: User9
 User: User4
                            Nodes Req’d: 1
 Nodes Req’d: 1
                            Program: simul.sh
 Program: align.sh
Clustered Solution
                                  Queued
                               Job #3
                                User: User2
                                Nodes Req’d: 2
                                Program:
                               splice.sh




Job #1
 User: User4
 Nodes Req’d: 1
 Program: align.sh
Clustered Solution
                                  Queued


Job #3
 User: User2
 Nodes Req’d: 2
 Program: splice.sh




Job #1
 User: User4
 Nodes Req’d: 1
 Program: align.sh
Clusters

• Solve problem of sharing resources
• Allow multiple nodes to collaborate on a single
  job
  – Programs must be specifically designed to run in
    this fashion
• Can solve very large problems by combining
  hundreds of nodes together
  – Global weather forecasting, particle collisions at
    CERN, etc.
HPC at UT Southwestern


• QBRC manages an 18 node cluster on-
  campus.
• Have access to Texas Advanced Computing
  Center (TACC) at UT Austin
  – 6,400 node cluster with > 100k cores
  – Attracts many users, often a queue before your
    jobs will run.
Outline




• Servers
• Clusters
• The Cloud
Cloud Computing




• Vendors with access to massive computing
  resources began leasing their servers out
  – Amazon, Microsoft, Google, Rackspace
  – Charge per hour of use, usually just a few cents.
Cloud Computing - Advantages



• No up-front purchase/cost
• No hardware to manage
• 100 servers in parallel is the same cost as a
  single server running for 100 hours
  – Can get parallel jobs done much more quickly
Cloud Computing - Disadvantages



• Data must be transferred over the Internet
  – Can take hours to upload a large sequencing
    experiment.
• Can be more expensive than internal clusters

Contenu connexe

Tendances

Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience National Cheng Kung University
 
Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)Martijn Verburg
 
Java Presentation
Java PresentationJava Presentation
Java PresentationAmr Salah
 
Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)Martijn Verburg
 
Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Martijn Verburg
 
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®Serdar Basegmez
 
Introduction to Java 7 (OSCON 2012)
Introduction to Java 7 (OSCON 2012)Introduction to Java 7 (OSCON 2012)
Introduction to Java 7 (OSCON 2012)Martijn Verburg
 
Introduction to java by priti sajja
Introduction to java by priti sajjaIntroduction to java by priti sajja
Introduction to java by priti sajjaPriti Srinivas Sajja
 
Why kernelspace sucks?
Why kernelspace sucks?Why kernelspace sucks?
Why kernelspace sucks?OpenFest team
 
Java Edge.2009.Grails.Web.Dev.Made.Easy
Java Edge.2009.Grails.Web.Dev.Made.EasyJava Edge.2009.Grails.Web.Dev.Made.Easy
Java Edge.2009.Grails.Web.Dev.Made.Easyroialdaag
 
Hardware Detection Tool
Hardware Detection ToolHardware Detection Tool
Hardware Detection ToolAnne Nicolas
 
Skype testing overview
Skype testing overviewSkype testing overview
Skype testing overviewQA Club Kiev
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Qualcomm Developer Network
 
Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Steve Wilson
 

Tendances (20)

Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience Develop Community-based Android Distribution and Upstreaming Experience
Develop Community-based Android Distribution and Upstreaming Experience
 
Accelerated Android Development with Linaro
Accelerated Android Development with LinaroAccelerated Android Development with Linaro
Accelerated Android Development with Linaro
 
Balancing Power & Performance Webinar
Balancing Power & Performance WebinarBalancing Power & Performance Webinar
Balancing Power & Performance Webinar
 
Android Optimization: Myth and Reality
Android Optimization: Myth and RealityAndroid Optimization: Myth and Reality
Android Optimization: Myth and Reality
 
Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)Modern Java Concurrency (OSCON 2012)
Modern Java Concurrency (OSCON 2012)
 
Improve Android System Component Performance
Improve Android System Component PerformanceImprove Android System Component Performance
Improve Android System Component Performance
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)Polyglot and functional (Devoxx Nov/2011)
Polyglot and functional (Devoxx Nov/2011)
 
Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)
 
Hot sec10 slide-suzaki
Hot sec10 slide-suzakiHot sec10 slide-suzaki
Hot sec10 slide-suzaki
 
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®
 
Introduction to Java 7 (OSCON 2012)
Introduction to Java 7 (OSCON 2012)Introduction to Java 7 (OSCON 2012)
Introduction to Java 7 (OSCON 2012)
 
Introduction to java by priti sajja
Introduction to java by priti sajjaIntroduction to java by priti sajja
Introduction to java by priti sajja
 
Why kernelspace sucks?
Why kernelspace sucks?Why kernelspace sucks?
Why kernelspace sucks?
 
Java Edge.2009.Grails.Web.Dev.Made.Easy
Java Edge.2009.Grails.Web.Dev.Made.EasyJava Edge.2009.Grails.Web.Dev.Made.Easy
Java Edge.2009.Grails.Web.Dev.Made.Easy
 
Hardware Detection Tool
Hardware Detection ToolHardware Detection Tool
Hardware Detection Tool
 
TOMOYO Linux on Android
TOMOYO Linux on AndroidTOMOYO Linux on Android
TOMOYO Linux on Android
 
Skype testing overview
Skype testing overviewSkype testing overview
Skype testing overview
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
 
Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!
 

En vedette

My presentation on 'computer hardware component' {hardware}
My presentation on 'computer hardware component' {hardware}My presentation on 'computer hardware component' {hardware}
My presentation on 'computer hardware component' {hardware}Rahul Kumar
 
Introduction to HCI
Introduction to HCI Introduction to HCI
Introduction to HCI Deskala
 
Human-Computer Interaction: An Overview
Human-Computer Interaction: An OverviewHuman-Computer Interaction: An Overview
Human-Computer Interaction: An OverviewSabin Buraga
 
human computer interface
human computer interfacehuman computer interface
human computer interfaceSantosh Kumar
 
Computer hardware presentation
Computer hardware presentationComputer hardware presentation
Computer hardware presentationJisu Dasgupta
 
Human computer interaction
Human  computer interactionHuman  computer interaction
Human computer interactionAyusha Patnaik
 

En vedette (7)

My presentation on 'computer hardware component' {hardware}
My presentation on 'computer hardware component' {hardware}My presentation on 'computer hardware component' {hardware}
My presentation on 'computer hardware component' {hardware}
 
HCI Presentation
HCI PresentationHCI Presentation
HCI Presentation
 
Introduction to HCI
Introduction to HCI Introduction to HCI
Introduction to HCI
 
Human-Computer Interaction: An Overview
Human-Computer Interaction: An OverviewHuman-Computer Interaction: An Overview
Human-Computer Interaction: An Overview
 
human computer interface
human computer interfacehuman computer interface
human computer interface
 
Computer hardware presentation
Computer hardware presentationComputer hardware presentation
Computer hardware presentation
 
Human computer interaction
Human  computer interactionHuman  computer interaction
Human computer interaction
 

Similaire à Scientific Computing - Hardware

Windows internals
Windows internalsWindows internals
Windows internalsPiyush Jain
 
On non existent 0-days, stable binary exploits and
On non existent 0-days, stable binary exploits andOn non existent 0-days, stable binary exploits and
On non existent 0-days, stable binary exploits andAlisa Esage Шевченко
 
CNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbgCNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbgSam Bowne
 
Esage on non-existent 0-days, stable binary exploits and user interaction
Esage   on non-existent 0-days, stable binary exploits and user interactionEsage   on non-existent 0-days, stable binary exploits and user interaction
Esage on non-existent 0-days, stable binary exploits and user interactionDefconRussia
 
SDN Demystified, by Dean Pemberton [APNIC 38]
SDN Demystified, by Dean Pemberton [APNIC 38]SDN Demystified, by Dean Pemberton [APNIC 38]
SDN Demystified, by Dean Pemberton [APNIC 38]APNIC
 
Thick Client Penetration Testing.pdf
Thick Client Penetration Testing.pdfThick Client Penetration Testing.pdf
Thick Client Penetration Testing.pdfSouvikRoy114738
 
Application Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternativeApplication Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternativeDenis Gundarev
 
Realtime traffic analyser
Realtime traffic analyserRealtime traffic analyser
Realtime traffic analyserAlex Moskvin
 
CNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbgCNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbgSam Bowne
 
Thick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseThick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseScott Sutherland
 
Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...Sergey Platonov
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Mandi Walls
 
Apache Kafka's Common Pitfalls & Intricacies: A Customer Support Perspective
Apache Kafka's Common Pitfalls & Intricacies: A Customer Support PerspectiveApache Kafka's Common Pitfalls & Intricacies: A Customer Support Perspective
Apache Kafka's Common Pitfalls & Intricacies: A Customer Support PerspectiveHostedbyConfluent
 
Tool Up Your LAMP Stack
Tool Up Your LAMP StackTool Up Your LAMP Stack
Tool Up Your LAMP StackLorna Mitchell
 
Metasploitation part-1 (murtuja)
Metasploitation part-1 (murtuja)Metasploitation part-1 (murtuja)
Metasploitation part-1 (murtuja)ClubHack
 
Introduction of vertical crawler
Introduction of vertical crawlerIntroduction of vertical crawler
Introduction of vertical crawlerJinglun Li
 

Similaire à Scientific Computing - Hardware (20)

Windows internals
Windows internalsWindows internals
Windows internals
 
Introduction to multicore .ppt
Introduction to multicore .pptIntroduction to multicore .ppt
Introduction to multicore .ppt
 
Spark 1.0
Spark 1.0Spark 1.0
Spark 1.0
 
On non existent 0-days, stable binary exploits and
On non existent 0-days, stable binary exploits andOn non existent 0-days, stable binary exploits and
On non existent 0-days, stable binary exploits and
 
CNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbgCNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbg
 
Esage on non-existent 0-days, stable binary exploits and user interaction
Esage   on non-existent 0-days, stable binary exploits and user interactionEsage   on non-existent 0-days, stable binary exploits and user interaction
Esage on non-existent 0-days, stable binary exploits and user interaction
 
SDN Demystified, by Dean Pemberton [APNIC 38]
SDN Demystified, by Dean Pemberton [APNIC 38]SDN Demystified, by Dean Pemberton [APNIC 38]
SDN Demystified, by Dean Pemberton [APNIC 38]
 
Thick Client Penetration Testing.pdf
Thick Client Penetration Testing.pdfThick Client Penetration Testing.pdf
Thick Client Penetration Testing.pdf
 
Application Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternativeApplication Streaming is dead. A smart way to choose an alternative
Application Streaming is dead. A smart way to choose an alternative
 
Realtime traffic analyser
Realtime traffic analyserRealtime traffic analyser
Realtime traffic analyser
 
CNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbgCNIT 126: 10: Kernel Debugging with WinDbg
CNIT 126: 10: Kernel Debugging with WinDbg
 
Thick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseThick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash Course
 
Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...
 
F8 tech talk_pinterest_v4
F8 tech talk_pinterest_v4F8 tech talk_pinterest_v4
F8 tech talk_pinterest_v4
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
 
Apache Kafka's Common Pitfalls & Intricacies: A Customer Support Perspective
Apache Kafka's Common Pitfalls & Intricacies: A Customer Support PerspectiveApache Kafka's Common Pitfalls & Intricacies: A Customer Support Perspective
Apache Kafka's Common Pitfalls & Intricacies: A Customer Support Perspective
 
Tool up your lamp stack
Tool up your lamp stackTool up your lamp stack
Tool up your lamp stack
 
Tool Up Your LAMP Stack
Tool Up Your LAMP StackTool Up Your LAMP Stack
Tool Up Your LAMP Stack
 
Metasploitation part-1 (murtuja)
Metasploitation part-1 (murtuja)Metasploitation part-1 (murtuja)
Metasploitation part-1 (murtuja)
 
Introduction of vertical crawler
Introduction of vertical crawlerIntroduction of vertical crawler
Introduction of vertical crawler
 

Dernier

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Dernier (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Scientific Computing - Hardware

  • 1. Computing Hardware Jeff Allen Quantitative Biomedical Research Center UT Southwestern Medical Center BSCI5096 - 3.26.2013
  • 3. Outline • Servers – Concepts & Definitions – Novel properties of servers • Clusters • The Cloud
  • 4. Servers – Concepts & Definitions “A computer or program that supplies data or resources to other machines on a network.” • File Server • Email Server • Database Server • iTunes Server • Web Server • Computing Server server. (n.d.). Collins English Dictionary - Complete & Unabridged 10th Edition. Retrieved March 25, 2013, from Dictionary.com website: http://dictionary.reference.com/browse/server
  • 5. Servers – Concepts & Definitions • Same hardware components as your Personal Computer – Processor, Memory, Pow er Supply, Hard Drive • Often stacked in a rack Image from: http://www.stealth.com/industrial_rackmounts_sr1501datasheet.htm
  • 6. Servers – Concepts & Definitions • Same hardware components as your Personal Computer – Processor, Memory, Pow er Supply, Hard Drive • Often stacked in a rack http://www.daystarinc.com/hosting-facility
  • 7. Is this a server? Image from: http://www.stealth.com/industrial_rackmounts_sr1501datasheet.htm
  • 8. Is this a server? Image from: http://mediapool.getthespec.com/media.jpg?m=gBLSSTJ6IbHLuZD1JNnmyw%3D%3D&v=HR
  • 9. Is this a server? Image from: http://www.maximumpc.com/articles/reviews/hardware
  • 10. Is this a server? Image from: http://www.phonearena.com/image.php?m=Articles.Images&f=name&id=28259&name=GT- I8520_1.jpg&caption=&title=Image+from+%22UPDATED%3A+Samsung+I8520+is+an+Android+phone+with+built-in+projector%22&kw=&popup=1
  • 11. Is this a server?
  • 12. Common Attributes of a Server • Often runs an Operating System geared towards servers. • Primarily accessed remotely – Often “headless” (no monitor) • Runs 24/7, minimize downtime • May be kept in a data center – Superior cooling, increased security, etc. • Redundancy (Power, Disk Storage) • More powerful and expensive
  • 13. Operating System Client PCs Servers • Windows (XP, Vista, 7, 8) • Linux (Red Hat, Suse • Mac OS Enterprise, Ubuntu • Linux Server) (Ubuntu, Mint, openSUS • Windows (Windows E) Server 2003, 2008, 2012) • Non-Linux Unix (BSD, Solaris, AIX)
  • 14. Remote Access & the Shell • Typically don’t have physical access to the server, must access over a network • Windows is heavily graphical, access using “Remote Desktop” Image from http://www.softsalad.com/software/remote-desktop-control.html
  • 15. Remote Access & the Shell • Typically don’t have physical access to the server, must access over a network • Windows is heavily graphical, access using “Remote Desktop” • Linux is less graphical, access via a “Shell” Image from http://www.softsalad.com/software/remote-desktop-control.html
  • 16. Shell Access 1. User logs in 2. User types command 3. Computer executes Shell command and prints output 4. User types another command 5. … 6. User logs off Modified from http://software-carpentry.org/4_0/shell/intro.html
  • 17. Shell Comparison Windows (Graphical) Linux (Shell) Image from http://www.dedoimedo.com/computers/windows-7.html
  • 20. Shell Access • Slow learning curve • Can often be confusing at first, requires a new way of thinking • Ultimately very powerful and efficient • Three reasons to use: 1. It’s your only choice for remote access on some non- graphical systems 2. Many software tools only offer Command Line interfaces 3. Allows for powerful new combinations of tools Modified from http://software-carpentry.org/4_0/shell/intro.html
  • 21. Data Centers • Redundant, independent power feeds – Diesel generator backup • Redundant Internet connections • Redundant cooling • 24/7/365 staffing, restricted access
  • 22. RAID Disk 1 • “Redundant Array of Disk 2 Independent Disks” RAID • Store information Disk 3 Array redundantly Disk 4 • Support failure of one or more hard Disk 5 drives without losing data
  • 23. Server Computing Power • Often very expensive machines • Hardware designed to support more resources than a PC – May have dozens or hundreds of GB of RAM – Very expensive powerful processor, or even multiple processors
  • 24. Outline • Servers • Clusters – Motivation & Concept – Job submission – Example • The Cloud
  • 25. Example Problem • Group of 10 researchers • Too many concurrent users, runs slowly • Have some very large jobs
  • 26. Naïve Solution • Buy more independent servers! • Let people connect to whichever server they want • Problems: – Not sure which servers are busiest – Still takes weeks to run big simulations
  • 27. Clustered Solution • Servers are “nodes” in a cluster • Log in via head node • Head node manages requested jobs – Submits them to “worker” or “slave” nodes – Intelligently calculates available resources on each worker node • Multiple nodes can work on a single task
  • 28. Job Submission • Prepare a script to be executed (“myjob.sh”) – Include specifications on resources required • (“-l nodes=2:ppn=4”) – Or what queue it should be submitted to • Different queues have different priorities and permissions • Submit that job to the head node (“qsub myjob.sh”) • Head node will begin executing as soon as it has sufficient resources
  • 30. Clustered Solution Job #1 User: User4 Nodes Req’d: 1 Program: align.sh
  • 31. Clustered Solution Job #1 User: User4 Nodes Req’d: 1 Program: align.sh
  • 32. Clustered Solution Job #1 User: User4 Nodes Req’d: 1 Program: align.sh
  • 33. Clustered Solution Job #2 Job #1 User: User9 User: User4 Nodes Req’d: 1 Nodes Req’d: 1 Program: align.sh Program: simul.sh
  • 34. Clustered Solution Job #2 User: User9 Nodes Req’d: 1 Program: simul.sh Job #1 User: User4 Nodes Req’d: 1 Program: align.sh
  • 35. Clustered Solution Job #2 User: User9 Nodes Req’d: 1 Program: simul.sh Job #1 User: User4 Nodes Req’d: 1 Program: align.sh
  • 36. Clustered Solution Job #2 User: User9 Nodes Req’d: 1 Program: simul.sh Job #3 Job #1 User: User2 User: User4 Nodes Req’d: 1 Nodes Req’d: 2 Program: align.sh Program: splice.sh
  • 37. Clustered Solution Queued Job #3 Job #2 User: User2 User: User9 Nodes Req’d: 2 Nodes Req’d: 1 Program: Program: simul.sh splice.sh Job #1 User: User4 Nodes Req’d: 1 Program: align.sh
  • 38. Clustered Solution Queued Job #3 Job #2 User: User2 User: User9 Nodes Req’d: 2 Nodes Req’d: 1 Program: Program: simul.sh splice.sh Job #1 User: User4 Nodes Req’d: 1 Program: align.sh
  • 39. Clustered Solution Queued Job #3 User: User2 Nodes Req’d: 2 Program: splice.sh Job #2 Job #1 User: User9 User: User4 Nodes Req’d: 1 Nodes Req’d: 1 Program: simul.sh Program: align.sh
  • 40. Clustered Solution Queued Job #3 User: User2 Nodes Req’d: 2 Program: splice.sh Job #1 User: User4 Nodes Req’d: 1 Program: align.sh
  • 41. Clustered Solution Queued Job #3 User: User2 Nodes Req’d: 2 Program: splice.sh Job #1 User: User4 Nodes Req’d: 1 Program: align.sh
  • 42. Clusters • Solve problem of sharing resources • Allow multiple nodes to collaborate on a single job – Programs must be specifically designed to run in this fashion • Can solve very large problems by combining hundreds of nodes together – Global weather forecasting, particle collisions at CERN, etc.
  • 43. HPC at UT Southwestern • QBRC manages an 18 node cluster on- campus. • Have access to Texas Advanced Computing Center (TACC) at UT Austin – 6,400 node cluster with > 100k cores – Attracts many users, often a queue before your jobs will run.
  • 45. Cloud Computing • Vendors with access to massive computing resources began leasing their servers out – Amazon, Microsoft, Google, Rackspace – Charge per hour of use, usually just a few cents.
  • 46. Cloud Computing - Advantages • No up-front purchase/cost • No hardware to manage • 100 servers in parallel is the same cost as a single server running for 100 hours – Can get parallel jobs done much more quickly
  • 47. Cloud Computing - Disadvantages • Data must be transferred over the Internet – Can take hours to upload a large sequencing experiment. • Can be more expensive than internal clusters

Notes de l'éditeur

  1. Lots of overlap between these – could have a single machine that runs all of these services.
  2. Answer: we don’t know.Top row could be plugged in under my desk and used only to watch YouTube and edit Word documents.Bottom row could be formally installed in a data center and used to host a website.In reality, there’s not a clear distinction. Most “clients”/PCs actually run some “serving” software such as file or media sharing.11m
  3. Most servers will meet most/all of these criteria. Of course, you could really argue that just about any technical device is a server of something, but this list defines typical usage.14m
  4. See mostly Linux in Academia due to licensing concerns, among other reasons.
  5. Only way to access many remote, non-graphical systems. Much more efficient.Many tools only have CLIsAllows for unique combination of tools, patch togetherGraphical systems are truly easier to work with for many tasks, but when you start getting into bioinformatic analysis, you’ll begin to appreciate the power of the shell.Want to count how many times a particular motif occurs in a sequence file? Can be done in one line by combining two commands on a shell.
  6. Makes sense to invest in a server everyone in the group can access and share remotely, rather than buying everyone a more powerful computer.
  7. 30m
  8. We have a group of 10 researchersWe have been sharing a single server, but have outgrown itToo many people want to use it and it slows down when we all do.One group member is running a simulation that will take 2 weeks to complete if only run on this server.
  9. Requires a lot of manual effort to inspect which server is the most available right now.If somebody starts running a big job on the server your on, it will slow down drasticallyStill no way for these independent servers to collaborate on big jobs
  10. Not all software supports parallelization. Must be specifically written with that in mind.
  11. User 4 logs in to the head node
  12. User 4 creates a job.
  13. Head node reads the job description and finds that the user will need one node.Sees that node #3 is not being used, assigns the job to node #3.
  14. User 9 logs in
  15. User 9 submits a job
  16. Head node reads the job description and finds that the user will need one node.Sees that node #1 is not being used, assigns the job to node #1
  17. User 2 logs in
  18. User 2 submits a job requiring 2 nodes to run collaboratively.
  19. Head node checks existing nodes, finds that there aren’t 2 nodes available. Places user2’s job in the queue.
  20. Job #2 finishes
  21. Head node receives notification, (optionally) notifies User 9 that his/her job is complete.
  22. Head node now checks to see if there are sufficient resources to run the next job, there are, so it initializes the job.
  23. Head node now checks to see if there are sufficient resources to run the next job, there are, so it initializes the job.