Makefile::Parallel Dependency Specification Language

  • Alberto Simões
  • Rúben Fonseca
  • José João Almeida
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4641)


Some processes are not easy to be programmed from scratch for parallel machines (clusters), but can be easily split on simple steps. Makefile::Parallel is a tool which lets users specify how processes depend on each other.

The language syntax resembles the well known Makefile[1] format, but instead of specifying files or targets dependencies, Makefile::Parallel specifies processes (or jobs) dependencies.

The scheduler reads the specification and submits jobs to the cluster scheduler (in our case, Rocks PBS) waiting them to end. When each process finishes, dependencies are calculated and direct dependent jobs are submitted.

Makefile::Parallel language includes features to specify parametric rules, used to split and join processes dependencies: some tasks can be split into smaller jobs working on different portions of files, and at the end, another process can be used to join results.


Parallel Machine Dependency Graph Parallel Dependency Local Scheduler Parametric Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Campbell, D., Grevstad, C.: A tutorial for make. In: ACM 1985. Proceedings of the 1985 ACM annual conference on The range of computing: mid-80’s perspective, New York, NY, USA, pp. 374–380. ACM Press, New York (1985)Google Scholar
  2. 2.
    Douglas, D.E.: Pert and simulation. In: WSC 1978. Proceedings of the 10th conference on Winter simulation, Piscataway, NJ, USA, pp. 89–98. IEEE Press, Orlando, Florida, USA (1978)Google Scholar
  3. 3.
    Desarmenien, F.: Parse: Yapp — perl extension for generating and using lalr parsers. Perl module (2001),
  4. 4.
    Sacerdoti, F.D., Chandrai, S., Bhatia, K.: Grid systems deployment & management using rocks. In: IEEE International Conference on Cluster Computing, San Diego, IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  5. 5.
    Sloan, J.D.: High Performance Linux Clusters with OSCAR, Rocks, OpenMosix, and MPI. O’Reilly (2004)Google Scholar
  6. 6.
    Simões, A.M., Almeida, J.J.: Natools – a statistical word aligner workbench. In: SEPLN (September 2003)Google Scholar
  7. 7.
    SSSimões, A., Almeida, J.J.: Combinatory examples extraction for machine translation. In: Lønning, J.T., Oepen, S. (eds.) 11th Annual Conference of the European Association for Machine Translation, 19–20, June 2006, Oslo, Norway, (2006)Google Scholar
  8. 8.
    Gansner, E.R., North, S.C.: An open graph visualization system and its applications to software engineering. Software — Practice and Experience 30(11), 1203–1233 (2000)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Alberto Simões
    • 1
  • Rúben Fonseca
    • 1
  • José João Almeida
    • 1
  1. 1.Departamento de Informática, Universidade do Minho, BragaPortugal

Personalised recommendations