Ümit V. Çatalyürek

OSU | citeseer | DBLP
Home
Partitioning | Clustering | Scheduling | Coloring | Semantic Graphs | Middleware
Advising | BMI 731 | ECE 864
2008 | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 and earlier
PaToH | Zoltan | DataCutter | STORM | MSSG
Family | Hobbies
Research | Hardware&Game | Bargain | Others

Software

PaToH v3.0

PaToH (Partitioning Tools for Hypergraph) is a Multilevel Hypergraph Partitioning tool that I developed during my doctoral studies at Bilkent University (1994-1999). Unfortunately, I have never had enough time to write a complete manual to make the software tool suitable for distribution. It was the fastest hypergraph partitioner when I wrote it, and may be the fastest partitioner to this day. You are welcome to review the incomplete manual in [ps] or [pdf] format.

Important features of PaToH:

  • Fast, stable multilevel hypergraph partitioner,
  • Hypergraph partitioning with fixed cells,
  • Multi-constraint hypergraph partitioner.

PaToH distributions for different architectures:

If you are interested in running PaToH on a different platform, please notify me, and I will attempt to prepare a version for your preferred platform provided I have access to it.

If you have questions or comments about the PaToH, please email me or Prof. Dr. Cevdet Aykanat who was my advisor at Bilkent University.

Latest Changes:

  • 5/12/06: Fixed the memory alignment on 64-bit libraries, improving the performance significantly on IA64 architectures. Thanks to Duraid Madina for noticing the alignment problem on IA64 and suggesting the fix!
  • 1/10/05: Changed the default behavior to continue to partition, with default values, if the chosen algorithm is not implemented in the particular partitioner Also a minor balance improvement was made.
  • 11/11/04: Mac OS X distribution has been added.
  • 8/15/02: Fixed a couple of small bugs and changed the default values of a few parameters.

Data & Results

  • Exp-1: ISPD98: 2% actual area results comparison with hMeTiS and UCLA MLPart
  • Exp-2: Comparison of hMeTiS and PaToH on 134 hypergraphs arising from different areas, Sparse-Matrix Vector Multiplication, LP, VLSI  (including ISPD98).

Related Publications:

  • Hypergraph-Partitioning Based Decomposition for Parallel Sparse-Matrix Vector Multiplication. U. Catalyurek and C. Aykanat. IEEE Transaction on Parallel and Distributed Systems, Vol. 10, No. 7, pp. 673-693, 1999. [ps] [pdf]
  • A Hypergraph-Partitioning Approach for Coarse-Grain Decomposition. U. Catalyurek and C. Aykanat. ACM/IEEE SC2001, Denver, CO, November 2001. [ps] [pdf]
  • A Fine-Grain Hypergraph Model for 2D Decomposition of Sparse Matrices. U. Catalyurek and C. Aykanat. Proceedings of International Parallel and Distributed Processing Symposium (IPDPS), 8th International Workshop on Solving Irregularly structured Problems in Parallel (Irregular 2001), San Francisco, April 2001. [ps] [pdf]
  • Decomposing irregularly sparse matrices for parallel matrix-vector multiplications. U. Catalyurek and C. Aykanat. Lecture Notes in Computer Science, vol. 1117, pp. 75-86, 1996. [ps] [pdf]
  • Decomposing linear programs for parallel solution. A. Pinar, U. Catalyurek, C. Aykanat, and M. Pinar. Lecture Notes in Computer Science, vol. 1041, pp. 473-482, 1996. [ps] [pdf]
  • A hypergraph model for mapping repeated sparse matrix-vector product computations onto multicomputers. Ü. V. Çatalyürek and C. Aykanat, Proceedings of International Conference on High Performance Computing, HiPC ’95, Goa, India, December 1995. [ps] [pdf]

top, complete list of publications

Zoltan:

Zoltan, developed and maintained by Sandia National Laboratories, is a toolkit for load balancing and parallel data management. In the last couple of years, I had the pleasure of collaborating with the Zoltan team. As an outcome of this collaboration we developed a parallel multilevel hypergraph partitioning algorithm, as well as distance-1 and distance-2 coloring algorithms. Zoltan release v2.0 (and later) includes the implementation of these algorithms and its source code is distributed under the GNU Lesser General Public License.

More information and the distribution of Zoltan can be found at the project web site.

top

DataCutter:

DataCutter is a component-based middleware framework designed to support coarse-grain data-flow execution on heterogeneous environments. In DataCutter, application processing structure is implemented as a set of components, named filters, that exchange data through logical streams. A stream denotes an uni-directional data flow from one filter (i.e., the producer) to another (i.e., the consumer). A filter is required to read data from its input streams and write data to its output streams only.

The DataCutter runtime system supports both data- and task-parallism. Processing, network and data copying overheads are minimized by the ability to place filters on different platforms. DataCutter's filtering service performs all steps necessary to instantiate filters on the desired hosts, to connect all logical endpoints, and to call the filter's interface functions for processing work. Data exchange between two filters on the same host takes place by memory copy operations, while a message passing communication layer (e.g. TCP sockets or MPI) is used for communication between filters on different hosts.

More information and the distribution of DataCutter can be found at the project web site.

top

STORM:

STORM is a middleware, being built using DataCutter, that is designed to provide basic database support for
1) Selection of the data of interest, 2) Transfer of data from storage nodes to compute nodes for processing.

STORM is designed as a set of coupled services. The query service provides an entry point for clients to submit queries to the database middleware. It is responsible for parsing the client query to determine which services should be instantiated to answer the query. The metadata service maintains information about datasets, and indexes and user-defined filters associated with the datasets. The data source service provides a view of a dataset as virtual tables to other services. Efficient execution of select operations is supported by indexing service and filtering service. The filtering service supports efficient execution of user-defined filters. The purpose of the partition generation service is to make it possible for an application developer to export the data distribution scheme employed in a parallel client program. The data mover transfers the selected data elements to the client based on the partitioning information returned from the partition generation service. STORM has been integrated and distributed with the NSF Middleware Initiative, since Release 5

More information and the distribution of STORM can be found at the project web site.

top

MSSG:

Developing scalable algorithms for relationship analysis on social network graphs (also known as semantic graphs) has been identified as an important need by the Department of Homeland Security. Unlike graphs from most scientific applications, in a scale-free graph most of the vertices are connected only to a small number of other vertices, while a few vertices, known as hubs, are connected to a large number of other vertices. This extreme irregularity requires novel data structures and databases to store these large graphs. We have recently started developing a framework that will support storage, retrieval and processing of large scale-free semantic graphs.

top

©2006 Umit Catalyurek. Last Update: July 20th, 2006