Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Low-Cost Parallel Queuing System for Computationally Intensive Problems Sean Martin, Bei Yuan, Judy Fredrickson, Fred Harris, Jr.* University of Nevada,

Similar presentations


Presentation on theme: "A Low-Cost Parallel Queuing System for Computationally Intensive Problems Sean Martin, Bei Yuan, Judy Fredrickson, Fred Harris, Jr.* University of Nevada,"— Presentation transcript:

1 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Sean Martin, Bei Yuan, Judy Fredrickson, Fred Harris, Jr.* University of Nevada, Reno

2 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Background - Crossing Number Problem My involvement started in Graduate School My involvement started in Graduate School  I was in Computer Science, my fiancé was in Mathematics at Clemson University  She was under Rich Ringeisen  Her MS work led to a 1988 Congressus Paper  “Crossing Numbers of Permutation Graphs”  Helping her with the code got me “hooked” on the problem and I ended up taking Graph Theory from Ringeisen a couple of years later.

3 A Low-Cost Parallel Queuing System for Computationally Intensive Problems My work My work  A GA for the Rectilinear MCN Problem  1993 Cumberland Conference  1996 Ars Combinatoria Paper  Found drawings of K 12 and K 13 better than the formulas by Richard Guy  Richard Guy said if the rectilinear formula was not a tight bound, the normal one would not be either. Background - Crossing Number Problem

4 A Low-Cost Parallel Queuing System for Computationally Intensive Problems  Could you develop an algorithm for calculating the MCN for non-rectilinear graphs?  My wife and I worked on and finally developed a computational algorithm for solving the Minimum Crossing Number Problem for non-rectilinear problem.  This was presented at the 1996 – Kalamazoo Conference Background - Crossing Number Problem

5 A Low-Cost Parallel Queuing System for Computationally Intensive Problems  This algorithm was then implemented by one of my students  Umid Tadjiev  Developed a static parallel partitioning of it  Presented our work at the 1997 SIAM Conference on Parallel Processing for Scientific Computing. Background - Crossing Number Problem

6 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Motivation  We still have not found out if the formula by Richard Guy is exact or not.  The problem is that this problem, and others like it, are computationally expensive  My goal has been to build a tool that would allow us to expand our knowledge of the MCN problem (and others as well).

7 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Parallel Cluster Computation  Computer clusters are affordable  Parallel processing now feasible for computationally intensive problems  Exhaustive Searches  Graph Algorithms  Can we build a tool that will harness this power and allow researchers to use it with little (or no) knowledge needed of the parallel programming details?

8 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Development/Testing Cluster  Our idea for a computational engine  A group of networked workstations  Use many machines as one “Supercomputer”  Work is distributed across all machines  Low cost makes it affordable resource  College of Engineering Computing Center Lab  44 Pentium 4 machines running Widows XP and  44 Pentium 4 workstations running Linux (RH 9.0)

9 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Run-Time Cluster  Cortex, a much larger and faster cluster  Processors (128 total) 30 dual processor Pentium III30 dual processor Pentium III 34 dual processor Pentium IV Xeon34 dual processor Pentium IV Xeon  Interconnect Ethernet for NFSEthernet for NFS Myrinet 2 for communicationMyrinet 2 for communication –2 Gigabit bi-directional low-latency network  Misc. 2 GB RAM per CPU2 GB RAM per CPU More than ½ Terabyte of storageMore than ½ Terabyte of storage

10 A Low-Cost Parallel Queuing System for Computationally Intensive Problems The Problem to avoid – Load (un)Balancing Unbalanced search tree Processes 2 & 3 sit idle while process 1 works toward a solution A work queue system helps balance the workload

11 A Low-Cost Parallel Queuing System for Computationally Intensive Problems The Solution – A Generic Work Queue System  Almost all of the problems we have been looking at can be broken up into jobs (or sub- jobs).  We decided to build a queue of jobs (work) that can be distributed across a cluster to harness the parallel computation power available.  One of the goals:  Little knowledge of parallel programming or message passing needed by user.

12 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Queuing System Design Goals  Master/Slave architecture  Master creates initial jobs for slaves  Master then monitors messages and keeps the work load balanced  Central and distributed work queues  Queue sizes can be altered (while running) for optimization  Master signals termination when master queue empty and all slaves are idle

13 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Queuing System Master Slave 1Slave 2Slave n Share Work Msg Central Queue Distributed Queue Work Request

14 A Low-Cost Parallel Queuing System for Computationally Intensive Problems User Requirements Define a job Define a job Define the master and slave functions Define the master and slave functions Then optionally Then optionally  Determine queue max and min sizes  Can be ascertained empirically during development  Adjust granularity as needed based upon performance (message passing behavior)

15 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Define a Job A job is just a C/C++ data structure A job is just a C/C++ data structure  We used an array of integers  If the job is not of built in data types then the user must define types and overload operators Our system is designed to work with almost any job Our system is designed to work with almost any job

16 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Example Job MCN MCN  Region lists  Adjacency matrix  Several integers to keep track of best and current solutions  Job is enqueued as an array of integer values Integer Array Job Size, Current MCN,# Vertices,# Regions, Region List, Adjacency Matrix

17 A Low-Cost Parallel Queuing System for Computationally Intensive Problems User Defined Functions Master Function Master Function  We called it master_create_jobs ( ) –  Creates initial jobs (from user data)  Number of jobs created can be application dependent or based on number of processes  May return a meaningful value such as a lower bound  We return the initial MCN (using Guy’s formula)

18 A Low-Cost Parallel Queuing System for Computationally Intensive Problems User Defined Functions Slave Function Slave Function  We called it work( )  Unpacks job into local data structure to process  The code for this function determines the granularity of the work being done  This function adds jobs it creates onto the local queue  It may return a meaningful value such as a current best solution (updating the MCN)

19 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Results The system is able to create and manage a large number of jobs and messages The system is able to create and manage a large number of jobs and messages  Test runs generated more than 128 million jobs The system works for different problems The system works for different problems  Solved Minimum Crossing Number Problem for K 6, K 7, and K 8  Solved TSP for several graphs

20 A Low-Cost Parallel Queuing System for Computationally Intensive Problems MCN Results Graph Size MCN # of Jobs Created/Processed K513 K6371 K7925,844 K818128,737,926

21 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Future Work Find the MCN of larger vertex sets Find the MCN of larger vertex sets  Currently being used to solve MCN problem for growing N Develop a job to find MCN of bipartite and other graphs Develop a job to find MCN of bipartite and other graphs Add ability to save queues to disk Add ability to save queues to disk Develop a GUI (for ease of use) Develop a GUI (for ease of use)

22 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Future Work Is a Stack of jobs better than a Queue? Is a Stack of jobs better than a Queue?  The number of jobs generated is different because one does a depth first search and the other a breadth first search.

23 A Low-Cost Parallel Queuing System for Computationally Intensive Problems A Time Saving Region Restriction for Calculating the MCN of K n Judy Fredrickson Talk 114 - Wednesday 4:00pm

24 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Minimum Crossing Number Classic graph theory problem Classic graph theory problem  Given a number of vertices n, what is the minimum number of crossings (K n ) if every vertex has an edge to every other vertex Proven for n  10 Proven for n  10 Involves a very large search space Involves a very large search space

25 A Low-Cost Parallel Queuing System for Computationally Intensive Problems 5 Vertex Graph

26 A Low-Cost Parallel Queuing System for Computationally Intensive Problems MCN (K 5 )

27 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Traveling Salesman Problem “…given a finite number of ‘cities’ along with the cost of travel between each pair of them, find the cheapest way of visiting all the cities and returning to your starting point.” -- Traveling Salesman Problem Home Page  Problem size grows exponentially  Difficult to solve problems of any significant size with brute force

28 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Traveling Salesman Problem ABCDE A05115 B50511 C15051 D11505 E51150

29 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Traveling Salesman Problem

30 A Low-Cost Parallel Queuing System for Computationally Intensive Problems Results TSP TSP TSP  Created over a million jobs with a fairly small problem size  ~30,000 jobs sent to master by slaves  Relatively few requests for work  Granularity could be less fine, more work done per job


Download ppt "A Low-Cost Parallel Queuing System for Computationally Intensive Problems Sean Martin, Bei Yuan, Judy Fredrickson, Fred Harris, Jr.* University of Nevada,"

Similar presentations


Ads by Google