Simple, List-Based Parallel Programming with Transparent Load Balancing

  • Jorge Buenabad-Chávez
  • Miguel A. Castro-García
  • Graciela Román-Alonso
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3911)


We present a data-list management library that both simplifies parallel programming and balances the workload transparently to the programmer. We present its use with an application that dynamically generates data, such as those based on searching trees. Under these applications, processing data can unpredictably generate new data to process. Without load balancing, these applications are most likely to imbalance the workload across processing nodes resulting in poor performance. We present experimental results on the performance of our library using a Linux PC cluster.


Parallel Programming Master Node Processing Node Data List Dynamic Load Balance 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Amza, C., Cox, A.L., Dwarkadas, S., Keleher, P., Lu, H., Rajamony, R., Yu, W., Zwaenepoel, W.: Treadmarks: Shared memory computing on networks of workstations. IEEE Computer 29(2), 18–28 (1996)CrossRefGoogle Scholar
  2. 2.
    Bruen, A., Dixon, R.: The n-queens problem. Discrete Mathematics 12(4), 393–395 (1975)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Castro-García, M.A., Román-Alonso, G., Buenabad-Chávez, J., Martínez-Licona, A.E., Goddard-Close, J.: Integration of load balancing into a parallel evolutionary algorithm. In: Ramos, F.F., Unger, H., Larios, V. (eds.) ISSADS 2004. LNCS, vol. 3061, pp. 219–230. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Cole, M.I.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge (1989)MATHGoogle Scholar
  5. 5.
    Di Cosmo, R., Li, Z., Pelagatti, S., Weis, P.: Skeletal parallel programming with ocamlp3l 2.0. In: Third International Workshop on High-level Parallel Programming and Applications (HLPP 2005) (July 2005)Google Scholar
  6. 6.
    Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, R., Sunderam, V. (eds.): PVM: Parallel Virtual Machine: A Users’ Guide and Tutorial for Network Parallel Computing, 1st edn. MIT Press, Cambridge (1994)MATHGoogle Scholar
  7. 7.
    Goodeve, D.M., Dobson, S.A., Nash, J.M., Davy, J.R., Dew, P.M., Kara, M., Wadsworth, C.P.: Towards a model for shared data abstraction with performance. Journal of Parallel and Distributed Computing 49(1), 156–167 (1998)CrossRefMATHGoogle Scholar
  8. 8.
    Roch, J.-L., Gautier, T., Revire, R.: Athapascan: an api for asynchronous parallel programming. Technical report, INRIA RT-0276 (2003)Google Scholar
  9. 9.
    Román-Alonso, G., Castro-García, M.A., Buenabad-Chávez, J.: Easing message-passing parallel programming through a data balancing service. In: Kranzlmüller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol. 3241, pp. 295–302. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  10. 10.
    Skillicorn, D.B., Talia, D.: Models and Languages for Parallel Computation. ACM Computing Surveys 30(2), 123–169 (1998)CrossRefGoogle Scholar
  11. 11.
    Snir, M., Otto, S., Huss-Lederman, S., Walker, D., Dongarra, J.: MPI: The Complete Reference, The MPI Core, 2nd edn. MIT Press, Cambridge (1998)Google Scholar
  12. 12.
    Stankovich, J.A., Sidhu, I.S.: An adaptive bidding algorithm for processes, clusters, and distributed ups. In: Inter. Conf. on Distributed Computing Systems, pp. 49–59. IEEE, Los Alamitos (1984)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Jorge Buenabad-Chávez
    • 1
  • Miguel A. Castro-García
    • 1
    • 2
  • Graciela Román-Alonso
    • 2
  1. 1.Sección de ComputaciónCentro de Investigación y de Estudios Avanzados del IPNMéxico
  2. 2.Departamento de Ing. EléctricaUniversidad Autónoma Metropolitana, Izt.México

Personalised recommendations