Premium
Offline enforcement of contracts for high‐performance computing
Author(s) -
Damevski Kostadin
Publication year - 2011
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.1702
Subject(s) - overhead (engineering) , computer science , enforcement , software , design by contract , component (thermodynamics) , interface (matter) , architecture , distributed computing , embedded system , software system , operating system , software construction , physics , bubble , maximum bubble pressure method , political science , law , thermodynamics , art , visual arts
Design by contract is a well‐known software design methodology which enhances the quality of software through assertions expressed at the interface level. The overhead averse nature of High‐Performance Computing (HPC) applications often precludes the use of design by contract due to its potential overhead, especially when handling the large data sizes common in HPC. Our approach is to reduce the overhead of design by contract, by postponing (or offloading) across time and space the enforcement of contracts. We argue that the semantic implications of this approach are not significant, while leading to a large potential overhead reduction. A reduced overhead strategy to contract implementation may be necessary for a wider acceptance of this useful software engineering primitive. We apply our approach to contracts developed for software components based on the CCA (Common Component Architecture) model, which targets HPC applications. Copyright © 2011 John Wiley & Sons, Ltd.