libVIP: Arquitetura de Interface Virtual (VIA) sobre TCP/IP
Resumo
Aglomerados de computadores são freqüentemente utilizados como arquitetura de suporte ao processamento de alto desempenho. Os computadores nesta arquitetura se comunicam através de trocas de mensagens e existe atualmente pesquisa para torná-las mais eficientes. Em 1997, foi especificada a Arquitetura de lnterface Virtual (VIA) [5]. VIA é uma interface de programação que possibilita a implementação eficiente de bibliotecas de comunicação. Baseada na arquitetura VIA, foi construída a biblioteca para comunicação assíncrona libVIP [16]. Esta biblioteca foi implementada usando a camada de rede padrão de sistemas POSIX. Ela possibilita a execução de programas paralelos escritos para a interface VIA em quaisquer aglomerados de computadores, mesmo naqueles que não possuem interfaces de rede que seguem este padrão. O presente artigo tem por objetivo apresentar a implememação da libVIP e descrever duas aplicações desenvolvidas para avaliá-la.
Referências
BENNEIT, J. K.; ABDEL-SHAFI, H.; SPEIGHT, E. Realizing the Performance Potential of the Virtual Interface Architecture. In Proceedings of International Conference on Supercomputing, Jun., 1999. http://citeseer.nj.nec.com/speight99realizing.html
BUYYA, R. High Performance Cluster Computing, Ed. Prentice Hall PTR, Vol I. Architecture and Systems, 1999.
COMMER, D. E. Redes de Computadores. Transmissão de dados, ligação inter-redes e Web, Ed. Bookman, Vol. 2, Porto Alegre/RS, 2001.
Compaq Computer Corp.; Intel Corp.; Microsoft Corp. Virtual Interface Architecture Specification. Version 1.0, Dec. 1997. http://www.cs.cornell.edu/barr/repository/cs614/san_10.pdf.
DRUSCHEL, P. Operating System Support for High-Speed Networking. In Communications of the ACM. 39(9). pp. 41-51, Sep. 1996.
EICKEN, E. V.; VOGELS, W. Evolution of Virtual Interface Architecture. IEEE Computer Magazine, pp. 61-68. Nov. 1998.
Intel Corporation. Virtual Interface Architecture. Defining de Path High-Performance Scalable Clusters, 1997. http://www-old.cs.umn.edu/computing-resources/dell-cluster/report.pdf.
KERNIGHAN, B. W.; RITCHIE, D. M. C a Linguagem de Programação Padrão ANSI. Vol. 7, Ed. Campus, Rio de Janeiro, 1989.
KLEIMAN, S.; SHAH, D.; SMAALDERS, 8. Programming with Threads. Ed. Prentice Hall, 1996.
LOBOSCO, M.; SILVA, A.; SANTOS, V.; AMORIM, C. TCP/IP versus VIA on Network of Workstation, SBAC-PAD. 13th Symmposium on Computer Architecture and high Performance Computing, Vol. 13, pp. 140-147, 2001.
BUONADONNA, P,; GEWEKE, A.; CULLER, D. An implementation and Analisys of the Virtual Interface Machine, In Proceedings of SC '98, Orlando, Florida, pp. 7-13, Nov. I 998.
Information Technology - Portable Operating System Interface (POSIX) 1003.1-1990 Part 1: System Application Program Interface (API) C Language, 1990. http://standards.ieee.org/cgi-bin/status
TANENBAUM, A. S. Redes de Computadores, Ed. Campus, Vol. 3, Rio de Janeiro/RJ, 1997.
TANENBAUM, A. S. Sistemas Operacionais, Ed. Bookman, Vol. 3, Rio de Janeiro/RJ, 1999.
RIGHI, R. R. libVIP - Desenvolvimento em Nível de Usuário de uma Biblioteca de Comunicação que Implementa o Protocolo de Interface Virtual, Trabalho de Graduação n° 163. Curso de Ciência da Computação, UFSM. Santa Maria/RS, Fev. 2003.
WILKINSON, B.; ALLEN, M. Parallel Programming: techniques and applications using networked workstations and parallel computerEd. Pretice Hall, 1999.
GAY, W. W.Linux Sockets Programming by Example. Ed. QUE, 2000.