World Scientific
  • Search
Skip main navigation

Cookies Notification

We use cookies on this site to enhance your user experience. By continuing to browse the site, you consent to the use of our cookies. Learn More
×
Our website is made possible by displaying certain online content using javascript.
In order to view the full content, please disable your ad blocker or whitelist our website www.worldscientific.com.

System Upgrade on Tue, Oct 25th, 2022 at 2am (EDT)

Existing users will be able to log into the site and access content. However, E-commerce and registration of new users may not be available for up to 12 hours.
For online purchase, please visit us again. Contact us at [email protected] for any enquiries.

GENERATIVE AND ADAPTIVE METHODS IN PERFORMANCE PROGRAMMING

    Performance programming is characterized by the need to structure software components to exploit the context of use. Relevant context includes the target processor architecture, the available resources (number of processors, network capacity), prevailing resource contention, the values and shapes of input and intermediate data structures, the schedule and distribution of input data delivery, and the way the results are to be used. This paper concerns adapting to dynamic context: adaptive algorithms, malleable and migrating tasks, and application structures based on dynamic component composition. Adaptive computations use metadata associated with software components — performance models, dependence information, data size and shape. Computation itself is interwoven with planning and optimizing the computation process, using this metadata. This reflective nature motivates metaprogramming techniques. We present a research agenda aimed at developing a modelling framework which allows us to characterize both computation and dynamic adaptation in a way that allows systematic optimization.

    References

    • A. J.   Field , Paul H. J.   Kelly and Thomas L.   Hansen , Euro-Par 2002 , LNCS 2400 , eds. Burkhard   Monien and Rainer   Feldmann ( Springer Verlag , 2002 ) . Google Scholar
    • Sergei Gorlatch, IEEE Transactions on Software Engineering 26(3), 276 (2000). Crossref, ISIGoogle Scholar
    • J. Dongarra, A. Lumsdaine, R. Pozo, and K. Remington. A sparse matrix library in C++ for high performance architectures. In Proceedings of the Second Object Oriented Numerics Conference, 1992 . Google Scholar
    • Peter   Liniker , Olav   Backmann and Paul. H. J.   Kelly , Euro-Par 2002 , LNCS 2400 ( Springer Verlag , 2002 ) . Google Scholar
    • Michael J.   Quinn , Parallel Programming in C with MPI and OpenMP ( McGraw Hill , 2003 ) . Google Scholar
    • Olav Beckmann and Paul H. J. Kelly, LCR98: Languages, Compilers and Run-time Systems for Scalable Computers, LNCS 1511 (Springer-Verlag, 1998) pp. 123–138. CrossrefGoogle Scholar
    • Olav   Beckmann and Paul H. J.   Kelly , Constructive Methods for Parallel Programming , Advances in Computation: Theory and Practice , eds. Sergei   Gorlatch and Christian   Lengauer ( Nova Science , 2000 ) . Google Scholar
    • John   Hatcliff , Torben   Mogensen and Peter   Thiemann (eds.) , Partial Evaluation. Practice and Theory, DIKU 1998 International Summer School, Copenhagen, Denmark, June 29 - July 10, 1998 , LNCS 1706 ( Springer Verlag , 1999 ) . Google Scholar
    • Brian Grantet al., SIGPLAN Not. 32(12), 163 (1997). Crossref, ISIGoogle Scholar
    • Walid Taha and Tim Sheard, Proceedings of the 1997 ACM SIGPLAN Symposium on Partial evaluation and semantics-based program manipulation (ACM Press, 1997) pp. 203–207. CrossrefGoogle Scholar
    • Intel Corporation. Intel Pentium 4 and Intel Xeon Processor Optimization Reference Manual, 1999–2002. Available via developer.intel.com . Google Scholar
    • Jack J.   Donggara and Clint R.   Whaley , Proceedings of SC'98 Conference ( IEEE , 1998 ) . Google Scholar
    • Matteo Frigo and Steven G. Johnson, Proc. 1998 IEEE Intl. Conf. Acoustics Speech and Signal Processing 3 (IEEE, 1998) pp. 1381–1384. Google Scholar
    • G. G. Fursin, M. F. P. O'Boyle, and P. M. W. Knijnenburg. Evaluating iterative compilation. In Proceedings of the 15th Workshop on Languages and Compilers for Parallel Computers (LCPC'02), pages 305–315, 2002 . Google Scholar
    • M. W. Hallet al., IEEE Computer  (1996). Google Scholar
    • Markus   Schordan and Daniel   Quinlan , Joint Modular Languages Conference (JMLC'03) , LNCS 2789 ( Springer Verlag , 2003 ) . Google Scholar
    • Tim Sheard, 2nd Intl. Workshop on Semantics, Applications, and Implementation of Program Generation, LNCS 2196 (Springer Verlag, 2001) pp. 2–44. CrossrefGoogle Scholar
    • Gilad Brache et al. JSR 175: A metadata facility for the Java programming language, September 2004. Java Community Process (http://www.jcp.org) . Google Scholar
    • Microsoft. NET framework developer's guide: Extending metadata using attributes, 2004. (http://msdn.microsoft.com) . Google Scholar
    • S. J. Fink, S. R. Kohn and S. B. Baden, J. Parallel and Distributed Computing 50(1-2), (1998). Google Scholar
    • Rob. H.   Bisseling , Parallel Scientific Computation: A Structured Approach using BSP and MPI ( Oxford University Press , 2004 ) . CrossrefGoogle Scholar
    • Ravi Ponnusamy, Joel H. Saltz, and Alok N. Choudhary. Runtime compilation techniques for data partitioning and communication schedule reuse. In Supercomputing, pages 361–370, 1993 . Google Scholar
    • P. López-García, M. Hermenegildo and S. K. Debray, Journal of Symbolic Computation 22 (1996). Google Scholar
    • Jon B. Weissman and Andrew S. Grimshaw. Network partitioning of data parallel computations. In Third IEEE International Symposium on High Performance Distributed Computing (HPDC), August 1994 . Google Scholar
    • Kwok Cheung   Yeung and Paul H. J.   Kelly , Middleware 2003: ACM/IFIP/USENIX International Middleware Conference , LNCS 2672 , eds. D.   Schmidt and M.   Endler ( Springer Verlag , 2003 ) . Google Scholar
    • M. Hallet al., Journal of Parallel and Distributed Computing  (1996). Google Scholar
    • K. D. Cooper, M. W. Hall and K. Kennedy, Computer Languages 19(2), (1999). Google Scholar
    • J. Hau, W. Lee, and Steven Newhouse. Autonomic service adaptation using onto-logical annotation. In 4th International Workshop on Grid Computing, Grid 2003, November 2003 . Google Scholar
    • Martin Alt, Holger Bischof and Sergei Gorlatch, Parallel Processing Letters 12(2), 157 (2002). LinkGoogle Scholar
    • Todd L.   Veldhuizen and Dennis   Gannon , Proceedings of the SIAM Workshop on Object Oriented Methods for Inter-operable Scientific and Engineering Computing (OO'98) ( SIAM , Philadelphia, PA, USA , 1998 ) . Google Scholar
    • Ken   Kennedy , 14th International Parallel and Distributed Processing Symposium (IPDPS'00) ( Springer Verlag , 2000 ) . Google Scholar
    • Paul H. J. Kellyet al., Parallel Processing Letters 11(4), (2001). Google Scholar
    • Wayne Kelly and William Pugh. A framework for unifying reordering transformations. Technical Report CS-TR-3193, Dept. of Computer Science, University of Maryland, 1993 . Google Scholar
    • C.   Bastoul et al. , Workshop on Languages and Compilers for Parallel Computing (LCPC'03) ( Springer Verlag , 2003 ) . Google Scholar
    • Michelle Mills   Strout , Larry   Carter and Jeanne   Ferrante , Programming Language Design and Implementation (PLDI) ( ACM , 2003 ) . Google Scholar