+ All Categories
Home > Documents > The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides...

The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides...

Date post: 30-Apr-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
20
 The Loman Project CPSC 410 Operating Systems Martin Press Christopher Hewitt
Transcript
Page 1: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

The Loman Project

CPSC 410Operating Systems

Martin PressChristopher Hewitt

Page 2: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

What is the Loman Project?

Addresses the classic computer science ”Traveling Salesman” problem

NP­complete problems such as ”Traveling Salesman” pose challenges for computation

The Loman Project finds solutions in a distributed manor through utilizing multiple processors, cores, or cluster nodes

Page 3: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Why the Loman Project?

Challenging project requiring solutions to both hardware and software problems

Demonstrates a large variety of operating system principles

First complete test application for the ACM­IEEE Segfault Cluster

Page 4: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

The Loman Platform

The Loman Project was designed for the Segfault Cluster in the Hunter Creech Lab

Code can also run on other platforms due to portable design: Java graphical user interface C computational backend OpenMPI libraries provide multiprocess 

communication support

Page 5: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Meet Segfault

Segfault is a Beowolf Cluster running in the Hunter Creech Computer Lab

An ACM­IEEE student project Cluster consists of a head node and many 

worker nodes on a private network Code written using OpenMPI libraries can be 

executed in parallel on each cluster node

Page 6: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Segfault Cluster

Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service (DNS) Lightweight Directory Access Protocol (LDAP) Network File System (NFS) Sun Grid Engine (SGE)

Worker nodes perform computationally intensive tasks scheduled by head node

Page 7: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Segfault Cluster

User account information and home directory data is shared across the private cluster network

Tasks can be scheduled through the head node using the Sun Grid Engine

Processes on each node can communicate with each other using OpenMPI function calls

Page 8: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Segfault Cluster

Sun Microsystems 64­bit SPARC Solaris 10 Nodes

Page 9: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Problem Approach

Simulated annealing A useful way to approach NP­complete problems Mimics annealing process in metallurgy Probabilistic algorithm Utilizes a “cooling schedule” with varying 

temperatures Inefficient routes are probabilistically tested to 

advance search for better solutions

Page 10: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Simulated Annealing

Mathematically, probability in simulated annealing is best described as:

P = e ­(C1 – C2) / T

P: Probability of accepting new change in route. C

1: New route. C

2: Old route.

T: Temperature of simulation.  e: Base of the natural logarithm.

Page 11: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

System Design Layout

Computational Backend(Worker Nodes)

Java Execution GUI(Head Node)

Spawned OpenMPIController

ConfigurationFile

Output ResultsFile

Page 12: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Nodal Communication

OpenMPI A robust and open source library for C, C++, and 

Fortran A full implementation of MPI­2 specifications Nodes pass messages between each other Used for computational fluid dynamics, 

particle physics, and simulations in other computationally­intensive fields

Page 13: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Graphical Java Client

Created in a modular fashion to promote encapsulation and cohesion of objects managed by the interface

Heart of user interaction All necessities for creation and execution of the 

simulation process User can provide a number of towns, simulation 

duration, and other options

Page 14: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Graphical Java Client Preview

Page 15: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Computational C Backend

Creates master and slave processes based on CPU ID

Master process reads input data and sends to slave processes for computation

Master process also collects data over iterations and sends termination messages to slave processes

Slave processes compute a solution each iteration. 

Page 16: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Computational C Backend Preview

Page 17: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Operating System Principles

Multi­threading For a more responsive user interface

Job Scheduling To prevent cluster load imbalances

Inter­process communication Head node contacts workers to start and halt

File Management File consistency between GUI and backend

Page 18: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

Operating System Principles

Multi­threading implemented using Java's Runnable interface

Semaphores controlled through MPI send and receive functions

Job scheduling through the Sun Grid Engine File management implemented through Java's 

File object and C's stdio library

Page 19: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

References

1. "FAQ: General Information." Open­MPI. Rtv. September 15, 2008.http://www.open­mpi.org/faq/?category=general

2. Luke, B. (n.d) “Metropolis Monte Carlo Simulation.” Rtv. September 15, 2008.http://fconyx.ncifcrf.gov/~lukeb/metro01.html

3. Nouraniy Y. and Andresenz B.. (1998). “A comparison of simulated annealing cooling strategies.” Rtv. September 15, 2008.http://www.iop.org/EJ/article/0305­4470/31/41/011/a84109.pdf?requestid=5cfd7756­597a­4c8a­98fa­c3ff22808c13

4. “System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).” Sun Microsystems. Rtv September 15, 2008.http://dlc.sun.com/pdf/816­4556/816­4556.pdf

5. "The Problem." The Traveling Salesman Problem. http://www.tsp.gatech.edu/problem/index.html

6. A load of other Sun Microsystems Solaris documentation!7. Google, of course!

Page 20: The Loman Projectmzhang/CPSC410_2007/StudentProgram… · Segfault Cluster Head node gomez provides worker services: Dynamic Host Configuration Protocol (DHCP) Domain Name Service

   

The Loman Project

The Distributed Traveling SalesmanUtilizing Simulated Annealing Schedules


Recommended