ABSTRACT
Grid computing has become increasingly popular with the growth of the Internet, especially in large-scale scientific computation. Computational Grids are characterized by their scale, their heterogeneity, and their unreliability, making the creation of Grid software quite a challenge. Security concerns make the deployment of Grid infrastructure similarly daunting.We argue that functional programming techniques, both well-known and new, make an excellent practical foundation for Grid computing. We present a prototype Grid framework called ConCert built entirely in Standard ML which allows for the trustless dissemination of Grid programs through the use of certified code. The framework is fault-tolerant and relatively easy to implement, owing to a simplified network abstraction. This network abstraction is tedious to program for directly, so we present a high level ML-like language Grid/ML and a compiler Hemlock for the language.
- GIMPS, the great internet mersenne prime search, http://mersenne.org/.Google Scholar
- SETI@Home, http://setiathome.ssl.berkeley.edu/.Google Scholar
- The third annual ICFP programming contest, http://www.cs.cornell.edu/icfp/.Google Scholar
- Secure hash standard, August 2002. FIPS 180-2, National Institute of Standards and Technology.Google Scholar
- Andrew W. Appel. Compiling With Continuations. Cambridge University Press, 1992. Google ScholarDigital Library
- Robert D. Blumofe and Philip A. Lisiecki. Adaptive and reliable parallel computing on networks of workstations. In Proceedings of the USENIX 1997 Annual Technical Conference on UNIX and Advanced Computing Systems, pages 133--147, 1997. Google ScholarDigital Library
- B. Chang, K. Crary, M. DeLap, R. Harper, J. Liszka, T. Murphy, VII, and F. Pfenning. Trustless grid computing in ConCert. In M. Parashar, editor, Grid Computing -- Grid 2002 Third International Workshop, pages 112--125, Berlin, November 2002. Springer-Verlag. Google ScholarDigital Library
- Bor-Yuh Evan Chang. Iktara in ConCert: Realizing a certified grid computing framework from a programmer's perspective. Technical Report CMU-CS-02-150, Carnegie Mellon, 2002.Google Scholar
- T. Chothia and D. Duggan. An architecture for secure fault-tolerant global applications. In Workshop on Principles of Dependable Systems (PODSY). IEEE Press, June 2003.Google Scholar
- Sylvain Conchon and Fabrice Le Fessant. Jocaml: Mobile agents for Objective-Caml. In First International Symposium on Agent Systems and Applications (ASA'99)/Third International Symposium on Mobile Agents (MA'99), Palm Springs, CA, USA, 1999. Google ScholarDigital Library
- Karl Crary. Toward a foundational typed assembly language. Technical Report CMU-CS-02-196, Department of Computer Science, Carnegie Mellon University, December 2002.Google Scholar
- Karl Crary, Michael Hicks, and Stephanie Weirich. Safe and flexible dynamic linking of native code. In 2000 ACM SIGPLAN Workshop on Types in Compilation, September 2000. Google ScholarDigital Library
- Karl Crary and Stephanie Weirich. Flexible type analysis. In International Conference on Functional Programming, pages 233--248, 1999. Google ScholarDigital Library
- Ian Foster and Carl Kesselman. The Globus project: a status report. Future Generation Computer Systems, 15(5--6):607--621, 1999. Google ScholarDigital Library
- C. Fournet and G. Gonthier. The reflexive chemical abstract machine and the Join-calculus. In 23rd ACM Symposium on Principles of Programming Languages, January 1996. Google ScholarDigital Library
- Robert Harper and Greg Morrisett. Compiling polymorphism using intensional type analysis. In POPL 1995: The 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 130--141, San Francisco, CA, January 1995. Google ScholarDigital Library
- Graham Hutton. Higher-order functions for parsing. Journal of Functional Programming, 2(3):323--343, July 1992.Google ScholarCross Ref
- David B. Johnson and Willy Zwaenepoel. Recovery in distributed systems using optimistic message logging and checkpointing. In Proc. 7th Annual ACM Symp. on Principles of Distributed Computing, pages 171--181, Toronto (Canada), 1988. Google ScholarDigital Library
- B. Kuszmaul. The StarTech massively parallel chess program. Journal of the International Computer Chess Association, 18(1):3--19, 1995.Google Scholar
- Clarence Irving Lewis. A Survey of Symbolic Logic. University of California Press, 1918.Google Scholar
- Greg Morrisett, Karl Crary, Neal Glew, Dan Grossman, Richard Samuels, Frederick Smith, David Walker, Stephanie Weirich, and Steve Zdancewic. TALx86: A realistic typed assembly language. In 1999 ACM SIGPLAN Workshop on Compiler Support for System Software, pages 25--35, Atlanta, Georgia, May 1999.Google Scholar
- Tom Murphy, VII. Modal types for mobile code (thesis proposal). Technical Report CMU-CS-06-112, Carnegie Mellon, Pittsburgh, Pennsylvania, USA, Feb 2006.Google ScholarDigital Library
- Tom Murphy, VII, Karl Crary, Robert Harper, and Frank Pfenning. A symmetric modal lambda calculus for distributed computing. Technical Report CMU-CS-04-105, Carnegie Mellon University, Mar 2004.Google ScholarCross Ref
- Tom Murphy, VII and Amit K. Manjhi. Anonymous identity and trust in peer-to-peer networks. http://www.cs.cmu.edu/~tom7/papers/.Google Scholar
- David Plainfossé and Marc Shapiro. A survey of distributed collection techniques. Technical report, BROADCAST, 1994.4. Google ScholarDigital Library
- Peter Sewell, James J. Leifer, Keith Wansbrough, Francesco Zappa Nardelli, Mair Allen-Williams, Pierre Habouzit, and Viktor Vafeiadis. Acute: high-level programming language design for distributed computation. In International Conference on Functional Programming (ICFP) 2005, Tallinn, Estonia, September 2005. Google ScholarDigital Library
- Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. Chord: A scalable peer-to-peer lookup service for internet applications. In Proceedings of the 2001 conference on applications, technologies, architectures, and protocols for computer communications, pages 149--160. ACM Press, 2001. Google ScholarDigital Library
- Valery Trifonov, Bratin Saha, and Zhong Shao. Fully reflexive intensional type analysis. ACM SIGPLAN Notices, 35(9):82--93, 2000. Google ScholarDigital Library
- Joseph Vanderwaart and Karl Crary. Foundational typed assembly language for grid computing. Technical Report CMU-CS-04-104, Department of Computer Science, Carnegie Mellon University, February 2004.Google Scholar
- Xiaoyun Wang, Yiqun Yin, and Hongbo Yu. Finding collisions in the full sha-1. In Crypto '05, August 2005. Google ScholarDigital Library
- Stephanie Weirich. Type-safe cast: Functional pearl. In Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming, pages 58--67, Montreal, Canada, September 2000. Google ScholarDigital Library
Index Terms
- ML grid programming with ConCert
Recommendations
Enhancing the Grid with Cloud Computing
Scientific computing has evolved considerably in recent years. Scientific applications have become more complex and require an increasing number of computing resources to perform on a large scale. Grid computing has become widely used and is the chosen ...
MGC middleware for grid computing: the Globus Toolkit
ACAI '11: Proceedings of the International Conference on Advances in Computing and Artificial IntelligenceGrid computing has made substantial advances during the last decade. A major concern in Grid environments is dealing with the high degree of heterogeneity of resources that can range from laptops and PCs to supercomputers. The unified virtual view of ...
Model and Prototyping of Quality of Service (QoS) Oriented Grid Resource Management and Scheduling
ICTCS '14: Proceedings of the 2014 International Conference on Information and Communication Technology for Competitive StrategiesGrid computing involves harnessing the diverse heterogeneous resources to solve compute and resource intensive problems. Such types of distributed systems are inherently unreliable with high chances of different types of failure events. The `best-effort'...
Comments