Significant advances have been made in computing, networking and I/O over the past decade. These changes have enabled new paradigms of computing (on-demand clusters, resource-sharing grids, and utility computing), changing the very nature and diversity of modern applications. The `on-demand' nature of the application mix requires making `on the fly' choices while mapping them to the cluster and grid resources. These could involve, e.g., choosing from heterogeneous hardware components, placing storage objects relative to computation, and provisioning the stages in a pipelined application.
Our approach is to capture the key factors underlying these choices in a
simple model that approximates their impact on application
performability. The goal is to have a simple/tractable framework for
guiding 'rough cut' choices in provisioning and placement. In this project,
we focus on I/O (network I/O or storage access) related factors e.g.,
unhidden latency, application characteristics (like compute/communicate
ratio), and pipeline bottlenecks. Thus, one of the contributions of this
project is an abstraction of these factors in terms of a few parameters and
ratios. We show some preliminary results with this model, depicting the
effect of changing these parameters in different scenarios. The model
projects the asymptotic bounds on the relative benefits of competing
choices independent of application and any specific point in
technology. This helps understand and guide the debate about the
effectiveness of making smarter choices as technology and application
trends change.