InDiGo: an infrastructure for optimization of distributed algorithms

Date

2008-11-14T17:07:00Z

Journal Title

Journal ISSN

Volume Title

Publisher

Kansas State University

Abstract

Many frameworks have been proposed which provide distributed algorithms encapsulated as middleware services to simplify application design. The developers of such algorithms are faced with two opposing forces. One is to design generic algorithms that are reusable in a large number of applications. Efficiency considerations, on the other hand, force the algorithms to be customized to specific operational contexts. This problem is often attacked by simply re-implementing all or large portions of an algorithm.

We propose InDiGO, an infrastructure which allows design of generic but customizable algorithms and provides tools to customize such algorithms for specific applications. InDiGO provides the following capabilities: (a) Tools to generate intermediate representations of an application which can be leveraged for analysis, (b) Mechanisms to allow developers to design customizable algorithms by exposing design knowledge in terms of configurable options, and (c) An optimization engine to analyze an application to derive the information necessary to optimize the algorithms. Specifically, we optimize algorithms by removing communication which is redundant in the context of a specific application. We perform three types of optimizations: static optimization, dynamic optimization and physical topology-based optimization. We present experimental results to demonstrate the advantages of our infrastructure.

Description

Keywords

distributed systems, middleware, optimization, distributed algorithms

Graduation Month

December

Degree

Doctor of Philosophy

Department

Department of Computing and Information Sciences

Major Professor

Gurdip Singh

Date

2008

Type

Dissertation

Citation