Managing the Construction and Use of Functional Performance Models in a Grid Environment Robert Higgins, Alexey Lastovetsky School of Computer Science University College Dublin Ireland {robert.higgins, alexey.lastovetsky}@ucd.ie Abstract— This paper presents a tool, the Performance Model Manager, which addresses the complexity of the construction and management of a set of Functional Performance Models on a computing server in a Grid environment. The operation of the tool and the features it implements to achieve this goal are described. Integration of Functional Performance Models with a GridRPC middleware, using the tool’s interfaces is illustrated. Finally, an example application is used to demonstrate the construction of the models and experiments that show the benefit of using the detailed models are presented. Keywords-grid computing; heterogeneous computing; performance modeling; benchmarking; processor performance; memory heirarchy; I. INTRODUCTION Grid Computing often utilizes highly heterogeneous networks of computers. Efficient high performance computing on Grids can only be achieved when accurate models of the performance of compute nodes are available to the scheduling middleware. The performance of a processor executing a problem is determined not only by the physical characteristics of the processor, but also of the nature of the problem’s core algorithm and the size of the problem’s input parameters. When scheduling the execution of a remote problem on a Grid, it is important to make an accurate estimation of the problem’s execution time on the available heterogeneous processors. In GridRPC [1] systems, many scheduling decisions are based on an estimation of execution time of the problem. The Minimum Completion Time heuristic [2] as implemented in NetSolve [3] or the Historical Trace Manager [4] heuristics implemented in GridSolve [5] both rely on the accuracy of this estimation. Presently, this is provided by the combination of a simple LINPACK [6] style benchmark, which measures operations per second of the processor, and a measure of the complexity of a given problem. This kind of estimation assumes that the core algorithm of the problem is similar to the benchmark code used, which is not necessarily the case. A problem may be more or less suited to a particular processor as a result of the underlying architecture of that processor. This difference may not be represented in the benchmark. Further, the single benchmark does not account for variance in processor speed as problem size increases. It is assumed that the speed of all processors will decrease at the same rate, which is never quite true, especially where paging occurs on processors at different sizes of problem. The Functional Performance Model [7] (FPM) is a excellent candidate for making a more accurate estimation of a problem’s execution time. It is a problem specific, realistic, experimentally obtained model of the actual execution speed of a problem expressed as a piece-wise linear function of the problem size. The problem size is given by its input parameters. These properties of the FPM address both issues with the current estimations used in GridSolve. However, the tasks of construction, management and use of a set of functional models are not trivial. This paper presents a tool that addresses these issues: the Performance Model Manager (PMM), and its integration with extended GridRPC system: SmartGridSolve [8]. In Section 2 we describe the FPM construction method, the installation of a problem into the manager, the management of model construction and interfaces to access constructed models. Section 3 describes the modification to GridSolve enabling use of constructed FPMs. Section 4 describes a GridRPC application that we use to demonstrate the construction and use of FPMS. Section 5 presents the constructed models and experimental results describing scheduling improvements as a result of using the tool. II. PERFORMANCE MODEL MANAGER PMM is a tool that has been developed to address issues surrounding the construction, maintenance and use of Functional Performance Models in a variety of parallel computing environments. It consists of three main features. Firstly it implements the Geometric Bisection Building Procedure [9] for multi-parameter FPMs, optimizing the construction of a problem’s performance model. It permits a large number of problems to have their construction managed by implementing a flexible benchmarking scheduler, suitable for use where a queuing system does not exist. Finally it provides access to the models in a variety of ways, allowing feedback from actual executions and providing tools to use the models in scheduling decisions. A. Efficient Construction Un-optimized construction of the FPM for a large set of problems installed on a large number of servers is infeasible