Contextual Contracts for Component-Based Resource Abstraction in a Cloud of HPC Services
Resumo
The efforts to make cloud computing suitable for the requirements of HPC applications have motivated us to design HPC Shelf, a cloud computing platform of services for building and deploying parallel computing systems for large-scale parallel processing. We introduce Alite, the system of contextual contracts of HPC Shelf, aimed at selecting component implementations according to requirements of applications, features of targeting parallel computing platforms (e.g. clusters), QoS (Quality-of-Service) properties and cost restrictions. It is evaluated through a small-scale case study employing a componentbased framework for matrix-multiplication based on the BLAS library.
Referências
Antonopoulos, N. and Gillam, L. (2011). Cloud Computing: Principles, Systems and Applications. Computer Commmunications and Networks. Springer.
Ben Nun, T. and Hoefler, T. (2019). Demystifying Parallel and Distributed Deep Learning: An In-depth Concurrency Analysis. ACM Computung Surveys, 52(4):65:1–65:43.
Blackford, L. S., Choi, J., Cleary, A., D’Azevedo, E., Demmel, J., Dhillon, I., Dongarra, J., Hammarling, S., Henry, G., Petitet, A., Stanley, K., Walker, D., and Whaley, R. C. (1997). ScaLAPACK User’s Guide.
Society for Industrial and Applied Mathematics (SIAM).
Cunha, R. L., Rodrigues, E. R., Tizzei, L. P., and Netto, M. A. (2017). Job placement advisor based on turnaround predictions for hpc hybrid clouds. Future Generation Computer Systems, 67:35 – 46.
de Carvalho Junior, F. H. and Rezende, C. A. (2013). A Case Study on Expressiveness and Performance of Component-Oriented Parallel Programming. J. of Parallel and Distributed Computing, 73(5):557–569.
de Carvalho Junior, F. H., Rezende, C. A., Silva, J. C., Al Alam, W. G., and de Alencar, J. M. U. (2016) Contextual Abstraction in a Type System for Component-Based High Performance Computing Platforms. Science of Computer Programming, 132:96–128.
de Carvalho Junior, F. H., Silva, J. C., and Dantas, A. B. O. (2019). A Scientific Workflow Management System for Orchestration of Parallel Components in a Cloud of Large-Scale Parallel Processing Services. Science of Computer Programming, 173:95–127.
Dongarra, J. (2002). Basic Linear Algebra Subprograms Technical Forum Standard I. International Journal of High Performance Applications and Supercomputing, 16(2):115–199.
Grama, A., Gupta, A., Karypis, J., and Kumar, V. (2003). Introduction to Parallel Computing. AddisonWesley.
Lee, S., Meredith, J. S., and Vetter, J. S. (2015). COMPASS: A Framework for Automated Performance Modeling and Prediction. In Proceedings of the 29th ACM on International Conference on Supercomputing, ICS, pages 405–414.
Mariani, G., Anghel, A., Jongerius, R., and Dittmann, G. (2018). Predicting cloud performance for hpc applications before deployment. Future Generation Computer Systems, 87:618 – 628.
Mell, P. and Grance, T. (2011). The NIST Definition of Cloud Computing. Technical Report 800-145, Computer Security Division, National Institute of Standards and Technology, U. S. Depart. of Commerce.
Netto, M. A. S., Calheiros, R. N., Rodrigues, E. R., Cunha, R. L. F., and Buyya, R. (2018). HPC Cloud for Scientific and Business Applications: Taxonomy, Vision, and Research Challenges. ACM Computing Surveys, 51(1):1–29.
Pande, J., Garcia, C. J., and Pant, D. (2013). Optimal component selection for component based software development using pliability metric. SIGSOFT Softw. Eng. Notes, 38(1):1–6.
Parashar, M., AbdelBaky, M., Rodero, I., and Devarakonda, A. (2013). Cloud Paradigms and Practices for Computational and Data-Enabled Science and Engineering. Computing in Science Engineering, 15(4):10–18.
Rezende, C. A. and de Carvalho Junior, F. H. (2018). MapReduce with Components for Processing Big Graphs. In XIX Simpósio de Sistemas Computacionais de Alto Desempenho (WSCAD’2018).
Tzeng, G.-H. and Huang, J.-J. (2011). Multiple attribute decision making: methods and applications. Chapman and Hall/CRC.
Vecchiola, C., Pandey, S., and Buyya, R. (2009). High-Performance Cloud Computing: A View of Scientific Applications. In 10th International Symposium on Pervasive Systems, Algorithms, and Networks (ISPAN’09), pages 4–16. IEEE.
Vraalsen, F., Aydt, R. A., Mendes, C. L., and Reed, D. A. (2001). Performance Contracts: Predicting and Monitoring Grid Application Behavior. In Lee, C. A., editor, Grid Computing — GRID 2001, pages 154–165, Berlin, Heidelberg. Springer Berlin Heidelberg.
Wang, A. J. A. and Qian, K. (2005). Component-Oriented Programming. Wiley-Interscience.
Yazir, Y. O., Matthews, C., Farahbod, R., Neville, S., Guitouni, A., Ganti, S., and Coady, Y. (2010). Dynamic resource allocation in computing clouds using distributed multiple criteria decision analysis. In 2010 IEEE 3rd International Conference on Cloud Computing, pages 91–98.