Análise Dinâmica do Comportamento de Filas de Mensagens para o Aumento do Paralelismo de Consumo
Resumo
A elasticidade em computação consiste em dimensionar adequadamente os recursos necessários para processar uma aplicação distribuída. Para isso, são necessários mecanismos para evitar o fenômeno do limiar de detecção de elasticidade para cima ou para baixo. Este artigo propõe um middleware para analisar dinamicamente os fluxos de filas de mensagens, e um mecanismo para aumentar o paralelismo de consumo baseado no comportamento da vazão. Dessa forma, é apresentada a arquitetura do middleware IOD (Increase On Demand) com suporte ao aumento e a diminuição de threads, para conter o crescimento de filas de mensagens, utilizando a técnica de heurísticas baseada em limites por um determinado tempo, e o agrupamento de mensagens em subfilas de acordo com um critério de classificação.Referências
Abbes, H., Cerin, C., Jemni, M., and Walid.Saad (2010). Fault tolerance based on the publish-subscribe paradigm for the bonjourgrid middleware. 11th IEEE/ACM International Conference on Grid Computing, pages 57–64.
Bicer, T., Jiang, W., and Agrawal, G. (2010). Supporting fault tolerance in a data-intensive computing middleware. 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS), pages 1–12.
Castro, M., Rexachs, D., and Luque, E. (2012). Transparent fault tolerance middleware at user level. 2012 International Conference on High Performance Computing and Simulation (HPCS), pages 566–572.
Coulouris, G., Dollimore, J., and Kindberg, T. (2009). Distributed Systems Concepts and Design. Editora Pearson Prentice Hall, fourth edition.
Downing, D. and Clark, J. (2011). Estatística Aplicada. Editora Saraiva, third edition.
Fang, W., Jin, B., Zhang, B., Yang, Y., and Qin, Z. (2011). Design and evaluation of a pub/sub service in the cloud. International Conference on Cloud and Service Computing, pages 32–39.
Gray, J. S. (2003). Interprocess Communications in LinuxÆ: The Nooks Crannies. Editora Pearson Prentice Hall, rst edition.
Guo, Y., Hanm, R., Satzger, B., and Truong, H.-L. (2012). Programming directives for elastic computing. Internet Computing and IEEE, pages 72–77.
He, C., Weitzel, D., Swanson, D., and Lu, Y. (2012). Hog: Distributed hadoop mapreduce on the grid. SC Companion: High Performance Computing and Networking Storage and Analysis, pages 1276–1283.
Herbst, N. R., Kounev, S., and Reussner, R. (2013). Elasticity in cloud computing: What it is, and what it is not. In Proceedings of the 10th International Conference on Autonomic Computing (ICAC 13), pages 23–27, San Jose, CA. USENIX.
Imai, S., Chestna, T., and Varela, C. A. (2012). Elastic scalable cloud computing using application-level migration. IEEE/ACM Fifth International Conference on Utility and Cloud Computing, pages 91–98.
Leitner, P., Inzinger, C., Hummer, W., Satzger, B., and Dustdar, S. (2012). Application-level performance monitoring of cloud services based on the complex event processing paradigm. 5th IEEE International Conference on Service-Oriented Computing and Applications, pages 1–8.
Li, M., Ye, F., Kim, M., Chen, H., and Lei, H. (2011). A scalable and elastic publish/-subscribe service. IEEE International Parallel & Distributed Processing Symposium, pages 1254–1265.
Ma, R. K., Lam, K. T., Wang, C.-L., and Zhang, C. (2010). A stack-on-demand execution model for elastic computing. 39th International Conference on Parallel Processing, pages 208–217.
Marshall, P., Tufo, H., and Keahey, K. (2012). Provisioning policies for elastic computing environments. 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forums, pages 1085–1094.
Martins, R., Narasimhan, P., Lopes, L., and Silva, F. (2010). Lightweight fault-tolerance for peer-to-peer middleware. 29th IEEE International Symposium on Reliable Distributed Systems, pages 313–317.
Perez, J., Germain-Renaud, C., Kégl, B., and Loomis, C. (2009). Responsive elastic computing. ACM/IEEE Conference on International Conference on Autonomic Computing, pages 55–64.
Smith, J. M. (1986). A survey of software fault tolerance techniques. pages 165–170.
Sugiki, A. and Kato, K. (2011). An extensible cloud platform inspired by operating systems. Fourth IEEE International Conference on Utility and Cloud Computing, pages 306–311.
Tanenbaum, A. S. and Steen, M. V. (2008). Distributed systems: principles and paradigms. Editora Pearson Prentice Hall, second edition.
Tanenbaum, A. S. and Wetherall, D. J. (2010). Computer Networks. Editora Pearson Prentice Hall, fth edition.
Tanenbaum, A. S. and Woodhull, A. S. (2007). Operating Systems Design and Implementation. Editora Pearson Prentice Hall, third edition.
Tran, N.-L., Skhiri, S., and Zimányi, E. (2011). Eqs: an elastic and scalable message queue for the cloud. Third IEEE International Conference on Cloud Computing Technology and Science, pages 391–398.
Wang, J., Jian-Wen Chen, Y. D., and Zheng, D. (2009). Research of the middleware based fault tolerance for the complex distributed simulation applications. International Conference on Computational Intelligence and Software Engineering (CiSE), pages 1–4.
Bicer, T., Jiang, W., and Agrawal, G. (2010). Supporting fault tolerance in a data-intensive computing middleware. 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS), pages 1–12.
Castro, M., Rexachs, D., and Luque, E. (2012). Transparent fault tolerance middleware at user level. 2012 International Conference on High Performance Computing and Simulation (HPCS), pages 566–572.
Coulouris, G., Dollimore, J., and Kindberg, T. (2009). Distributed Systems Concepts and Design. Editora Pearson Prentice Hall, fourth edition.
Downing, D. and Clark, J. (2011). Estatística Aplicada. Editora Saraiva, third edition.
Fang, W., Jin, B., Zhang, B., Yang, Y., and Qin, Z. (2011). Design and evaluation of a pub/sub service in the cloud. International Conference on Cloud and Service Computing, pages 32–39.
Gray, J. S. (2003). Interprocess Communications in LinuxÆ: The Nooks Crannies. Editora Pearson Prentice Hall, rst edition.
Guo, Y., Hanm, R., Satzger, B., and Truong, H.-L. (2012). Programming directives for elastic computing. Internet Computing and IEEE, pages 72–77.
He, C., Weitzel, D., Swanson, D., and Lu, Y. (2012). Hog: Distributed hadoop mapreduce on the grid. SC Companion: High Performance Computing and Networking Storage and Analysis, pages 1276–1283.
Herbst, N. R., Kounev, S., and Reussner, R. (2013). Elasticity in cloud computing: What it is, and what it is not. In Proceedings of the 10th International Conference on Autonomic Computing (ICAC 13), pages 23–27, San Jose, CA. USENIX.
Imai, S., Chestna, T., and Varela, C. A. (2012). Elastic scalable cloud computing using application-level migration. IEEE/ACM Fifth International Conference on Utility and Cloud Computing, pages 91–98.
Leitner, P., Inzinger, C., Hummer, W., Satzger, B., and Dustdar, S. (2012). Application-level performance monitoring of cloud services based on the complex event processing paradigm. 5th IEEE International Conference on Service-Oriented Computing and Applications, pages 1–8.
Li, M., Ye, F., Kim, M., Chen, H., and Lei, H. (2011). A scalable and elastic publish/-subscribe service. IEEE International Parallel & Distributed Processing Symposium, pages 1254–1265.
Ma, R. K., Lam, K. T., Wang, C.-L., and Zhang, C. (2010). A stack-on-demand execution model for elastic computing. 39th International Conference on Parallel Processing, pages 208–217.
Marshall, P., Tufo, H., and Keahey, K. (2012). Provisioning policies for elastic computing environments. 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forums, pages 1085–1094.
Martins, R., Narasimhan, P., Lopes, L., and Silva, F. (2010). Lightweight fault-tolerance for peer-to-peer middleware. 29th IEEE International Symposium on Reliable Distributed Systems, pages 313–317.
Perez, J., Germain-Renaud, C., Kégl, B., and Loomis, C. (2009). Responsive elastic computing. ACM/IEEE Conference on International Conference on Autonomic Computing, pages 55–64.
Smith, J. M. (1986). A survey of software fault tolerance techniques. pages 165–170.
Sugiki, A. and Kato, K. (2011). An extensible cloud platform inspired by operating systems. Fourth IEEE International Conference on Utility and Cloud Computing, pages 306–311.
Tanenbaum, A. S. and Steen, M. V. (2008). Distributed systems: principles and paradigms. Editora Pearson Prentice Hall, second edition.
Tanenbaum, A. S. and Wetherall, D. J. (2010). Computer Networks. Editora Pearson Prentice Hall, fth edition.
Tanenbaum, A. S. and Woodhull, A. S. (2007). Operating Systems Design and Implementation. Editora Pearson Prentice Hall, third edition.
Tran, N.-L., Skhiri, S., and Zimányi, E. (2011). Eqs: an elastic and scalable message queue for the cloud. Third IEEE International Conference on Cloud Computing Technology and Science, pages 391–398.
Wang, J., Jian-Wen Chen, Y. D., and Zheng, D. (2009). Research of the middleware based fault tolerance for the complex distributed simulation applications. International Conference on Computational Intelligence and Software Engineering (CiSE), pages 1–4.
Publicado
08/10/2014
Como Citar
TEIXEIRA, Eduardo Henrique; DE ARAÚJO, Aletéia Patrícia.
Análise Dinâmica do Comportamento de Filas de Mensagens para o Aumento do Paralelismo de Consumo. In: SIMPÓSIO EM SISTEMAS COMPUTACIONAIS DE ALTO DESEMPENHO (SSCAD), 15. , 2014, São José dos Campos.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2014
.
p. 3-14.
DOI: https://doi.org/10.5753/wscad.2014.14995.