Skip to main content

Anahy: A Programming Environment for Cluster Computing

  • Conference paper
High Performance Computing for Computational Science - VECPAR 2006 (VECPAR 2006)

Abstract

This paper presents Anahy, a programming environment for cluster computing. Anahy is presented in terms of its programming interface (API) and its scheduling mechanism. The main features of this environment are the specification of a POSIX thread-based API and the use of dynamic scheduling techniques based on Directed Acyclic Task Graphs (DAG). The main advantage obtained with these features is the dissociation between the description of the concurrency of an application and its parallel execution. The paper examines how Anahy builds a DAG describing the dependencies among tasks at execution time from a multithreaded program and how this DAG is handled by the runtime to apply dynamic scheduling techniques. The paper concludes discussing three case studies of applications developed in the context of Anahy environment.

The Anahy project is supported by CNPq/PDPG-TI (55 2196/2002-9), FAPERGS (02/0571.4), and was developed in collaboration with UNISINOS and HP Brazil R&D.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Alverson, G.A., et al.: Abstractions for portable, scalable parallel programming. IEEE Trans. on Parallel and Distributed Systems 9(1), 71–86 (1998)

    Article  Google Scholar 

  2. Galilée, F., et al.: Athapascan-1: on-line building data flow graph in a parallel language. In: Proc. of the 7th International Conference on Parallel Architectures and Compilation Techniques (PACT), Paris (1998)

    Google Scholar 

  3. Blumofe, R., et al.: Cilk: an efficient multithreaded runtime system. Journal of Parallel and Distributed Computing 37(1), 55–69 (1996)

    Article  Google Scholar 

  4. Mendes, R., et al.: Runtime system support for running applications with dynamic and asynchronous task parallelism in software DSM systems. In: Proc. of the 18th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD’06), Ouro Preto (2006)

    Google Scholar 

  5. Yang, T., Gerasoulis, A.: DSC: Scheduling parallel tasks on an unbounded number of processors. IEEE Transactions on Parallel and Distributed Systems 5(9), 283–297 (1994)

    Article  MathSciNet  Google Scholar 

  6. Berman, F., et al.: New grid scheduling and rescheduling methods in the grads project. International Journal of Parallel Programming 33(2–3), 209–229 (2005)

    Article  Google Scholar 

  7. Coffman, E.G., Graham, R.: Optimal scheduling for two-processor systems. Acta Informatica 1, 200–213 (1972)

    Article  MathSciNet  Google Scholar 

  8. Hu, T.C.: Parallel sequencing and assembly line problems. Operations Research 19(6), 841–848 (1961)

    Article  Google Scholar 

  9. Kwok, Y.-K., Ahmad, I.: Benchmarking and comparison of the task graph scheduling algorithms. Parallel and Distributed Computing 59(3), 381–422 (1999)

    Article  MATH  Google Scholar 

  10. Cavalheiro, G.G.H.: A general scheduling framework for parallel execution environments. In: Proc. of the SLAB’01, Brisbane (2001)

    Google Scholar 

  11. Black, D.L.: Scheduling support for concurrency and parallelism in the mach operating system. IEEE Computer 23(5), 35–43 (1990), citeseer.ist.psu.edu/black90scheduling.html

    Google Scholar 

  12. Xiao, Z., Li, W.N., Jenq, J.J.F.: On unit task linear-nonlinear two-cluster scheduling problem. In: Proc. of the ACM Symposium on Applied Computing, Santa Fe, ACM Press, New York (2005)

    Google Scholar 

  13. Kwok, Y.-K., Ahmad, I.: Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput. Surv. 31(4), 406–471 (1999), doi:10.1145/344588.344618

    Article  Google Scholar 

  14. Culler, D.: Arvind: Resource requirements of dataflow programs, Honolulu (1988)

    Google Scholar 

  15. Garey, M., Johnson, D.: Computers and intractability: a guide to the theory of NP-Completeness (1979)

    Google Scholar 

  16. Feitelson, D.G., Rudolph, L.: Parallel job scheduling: issues and approaches. In: Feitelson, D.G., Rudolph, L. (eds.) IPPS-WS 1995 and JSSPP 1995. LNCS, vol. 949, pp. 1–18. Springer, Heidelberg (1995)

    Google Scholar 

  17. Iverson, M.A., Özgüner, F.: Dynamic, competitive scheduling of multiple DAGs in a distributed heterogeneous environment. In: Heterogeneous Computing Workshop (1998)

    Google Scholar 

  18. Sinnen, O., Sousa, L.: List scheduling: extension for contention awareness and evaluation of node priorities for heterogeneous cluster architectures. Parallel Computing 30(1) (2004)

    Google Scholar 

  19. Sakellariou, R., Zhao, H.: A hybrid heuristic for DAG scheduling on heterogeneous systems. In: Proc. of the Heterogeneous Computing Workshop (2004)

    Google Scholar 

  20. Valiant, L.G.: A bridging model for parallel computation. Commun. ACM 33(8) (1990)

    Google Scholar 

  21. Cordeiro, O.C., et al.: Exploiting multithreaded programming on cluster architectures. In: Proc. of the 19th Annual International Symposium on High Performance Computing Systems and Applications (HPCS), Guelph (2005)

    Google Scholar 

  22. Peranconi, D.S., Cavalheiro, G.G.H.: Using Active Messages to explore high performance in cluster of computers. In: Proc. of the 15th International Conference of the Chilean Computer Science Society (SCCC) (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Michel Daydé José M. L. M. Palma Álvaro L. G. A. Coutinho Esther Pacitti João Correia Lopes

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this paper

Cite this paper

Cavalheiro, G.G.H., Gaspary, L.P., Cardozo, M.A., Cordeiro, O.C. (2007). Anahy: A Programming Environment for Cluster Computing. In: Daydé, M., Palma, J.M.L.M., Coutinho, Á.L.G.A., Pacitti, E., Lopes, J.C. (eds) High Performance Computing for Computational Science - VECPAR 2006. VECPAR 2006. Lecture Notes in Computer Science, vol 4395. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71351-7_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-71351-7_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-71350-0

  • Online ISBN: 978-3-540-71351-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics