1 / 16

MultiProcessor Linux

MultiProcessor Linux. Emergence & Capabilities. James Gallagher Greg Paul Imran Sargusingh. Current Parallel Processing Projects. SMP Linux Follows traditional parallel processing techniques Multiple processes share one memory and bus interface within a single computer Beowulf Project

lam
Download Presentation

MultiProcessor Linux

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MultiProcessor Linux Emergence & Capabilities James Gallagher Greg Paul Imran Sargusingh

  2. Current Parallel Processing Projects • SMP Linux • Follows traditional parallel processing techniques • Multiple processes share one memory and bus interface within a single computer • Beowulf Project • Investigating the idea of stringing multiple machines together running the Linux operating system to form a parallel-processing cluster

  3. Beowulf Project • A parallel computing system designed to provide reasonably simple parallel computing capability at a minimum of cost • Works by hooking a number of common personal computers together.

  4. A System to Provide Cheap Parallel Computing http://smile.cpe.ku.ac.th/related/beowulf/manage/2.html

  5. Beowulf Project “Beowulf is a class of clustered computing systems employing mass market PCs, cost effective commodity LANs, the Linux operating system (with source code), and public parallel processing libraries (MPI, PVM, BSP, etc.) to provide a highly flexible distributed memory clustered computing environment at unprecedented price-performance” http://www.mathcs.emory.edu/ccc97/tutorials.html - Date 12-03-1999

  6. Beowulf Project - The Start • Started at CESDIS, Center of Excellence in Space Data and Information Sciences, in the summer of 1994 • Initially a 16 node cluster • Developed for the Earth and space sciences project (ESS) at the Goddard Space Flight Center (GSFC)

  7. Beowulf Project - Original Machines • 16 DX4 processing modules integrated with multiple Ethernet networks • Each module contains a large capacity hard disk and controller supporting 16 way concurrent access which increases hard disk to memory bandwith • 10Mbit/s Ethernet - channel bonded for lack of inexpensive switches • Migrated to 100Mbit/s Ethernet with switches as prices dropped • Advantage- can accept and adapt to these changes quite readily because they “do not change the programming model”

  8. Beowulf Project - Software • MPICH, LAM, PVM, DIPC • Linux kernel • Channel-bonding Patch (which lets you 'bond' multiple Ethernet interfaces into a faster 'virtual' Ethernet interface) • Global PID Space Patch (enables you see all the processes on your Beowulf with ps, and maybe kill etc. them) • DIPC (which lets you use sysv shared memory and semaphores and message queues transparently across a cluster) http://www.dnaco.net/~kragen/beowulf-faq.txt - Date 12-03-1999

  9. Detailed Diagram of Beowulf Cluster http://smile.cpe.ku.ac.th/related/beowulf/manage/5.html

  10. Software: Frontend • Centralized Functions • Dedicated box allows distributed entities (nodes) to be strictly identical • Frontend provides single point for authentication one further division

  11. Software: Nodes • Distributed Functions • The node software is controlled by the Administrative Workstation. The 'Node Software' is the small-footprint Beowulf software that nodes use to boot and become part of the cluster. • Nodes must: • Run a sovereign kernel • Host parallel runtimes (pvmd, lamd, etc.) • Participate in cluster-wide namespaces

  12. Interconnect Functions Handled mostly by networking hardware and kernel protocol stacks. Software burden shared by all hosts in cluster Userland utilities for setup: ifconfig, ifenslave, route, arp, etc Software: Network

  13. SMP Architecture Overview • Multiple processors sharing some address space. • Inter-processor communication through signals, interrupts and shared memory. • Could have shared cache, single or multiple buses. • Only one CPU can be in the kernel at a time. • I/O operations are atomic.

  14. Architecture Details • Multiple Caches? • Separate L2 caches will minimize cache contention. • But SPMD profits from shared L2 cache fetches. • Multiple buses? • You can have more I/O devices and more I/O parallelism. • But SMP Linux serializes OS I/O calls so there is no gain.

  15. SMP Linux Good for compute bound processes and not for I/O bound processes. Why? • Bus Contention Solution: • Multiple independent buses and I/O controllers. • Faster bus clock than processor clock. Processors Shared Bus I/O Devices

  16. Locking • Locking is used to prevent one processor from corrupting another processor’s data • Consider: ++i. This is one line of program that translates to more than one memory transaction: load, store. A second processor could alter i while the first is performing its memory transactions. • Locking makes memory transactions atomic, but this has an overhead attached to it, because it delays any other processor’s memory transactions.

More Related