Sei sulla pagina 1di 8

Avaliao do Uso de Sistemas de Arquivos Distribudos

em Telemedicina
Hilton William Ganzo Perantunes

Departamento de Informtica e Estatstica


Universidade Federal de Santa Catarina (UFSC) Florianpolis, SC Brasil

william@inf.ufsc.br

Resumo. Este artigo prov uma introduo aos temas abordados no uso de
sistemas distribudos como suporte rea da telemedicina, bem como uma
listagem das tecnologias envolvidas.

1. Introduo
O objetivo deste estudo fornecer uma listagem e introduo aos conceitos e
tecnologias a serem utilizados em um projeto de experimentao e avaliao de
sistemas de arquivos distribudos em ambientes computacionais, aplicado s
necessidades de um ambiente de telemedicina.
Como objetivos especficos do trabalho, podem ser citados:
Desenvolvimento de uma aplicao capaz de prover a interoperabilidade entre
os formatos de arquivo DICOM e HDF5 (Hierarchical Data Format version 5);
Avaliao do desempenho do armazenamento de dados mdicos em ambiente de
computao distribuda.

2. Rede Catarinense de Telemedicina


A Rede Catarinense de Telemedicina (RCTM) um projeto em conjunto com a
Secretaria de Estado da Sade de Santa Catarina com o objetivo de integrar diversas
unidades da rede hospitalar do Estado, permitindo realizar o processamento em larga
escala exames mdicos e da entrega eletrnica de seus resultados (figura 1). A
integrao do sistema eletrnico possibilita uma maior agilidade no processo de tomada
de deciso da forma como deve proceder o tratamento posterior de um paciente, aps
um exame.
Figura 1. Rede Catarinense de Telemedicina

A fase de projeto-piloto da RCTM foi concluda em dezembro de 2005, sendo


que atualmente o sistema est operando em 54 municpios do Estado, atenuando alguns
dos problemas decorrentes da centralizao dos servios de sade, como a necessidade
de grandes deslocamentos por parte de mdicos e pacientes para a realizao de exames
e a demora na elaborao e entrega de diagnsticos [Maia 2006].

2.1. Padro DICOM


DICOM (Digital Imaging and Communications in Medicine) um padro para a
manipulao, armazenamento, exibio e transmisso de informaes em imagens
mdicas. Ele inclui a definio de um formato de arquivos e um protocolo de
comunicao por redes de computadores baseado em TCP/IP [DICOM 2007].
O padro desenvolvido e mantido pelos membros da National Electrical
Manufacturers Association (NEMA), baseada nos Estados Unidos, a qual tambm
detentora de seu copyright. Com seu uso, possvel obter a integrao de diversos
dispositivos computacionais em um sistema de armazenamento e exibio de imagens,
sendo amplamente utilizado em hospitais por equipamentos de tomografia
computadorizada e ressonncia magntica.
DICOM o padro adotado pela Rede Catarinense de Telemedicina para suas
ferramentas de suporte a diagnstico, por prover uma excelente interoperabilidade e
portabilidade

3. Sistemas de Computao Distribuda


Um sistema de computao distribuda aquele no qual os componentes de hardware
ou software localizados em computadores se comunicam e coordenam suas aes
apenas enviando mensagens entre si, quando interligados em uma rede, possibilitando o
compartilhamento de recursos e informaes entre os mesmos [Colouris 2007].
Figura 1. Sistema computacional distribudo

Outra definio possvel para o termo um conjunto de computadores


independentes que se apresenta a seus usurios como um sistema nico e coerente
[Tanenbaum 2005], o que refora a idia de elementos computacionais autnomos que
trocam informaes entre si, formando um sistema distribudo. Atualmente comum
observar sistemas computacionais (figura 1) que utilizam middlewares para permitir o
uso de aplicaes distribudas em redes de computadores, conforme essa descrio.

3.1. Clusters e Grids


Clusters computacionais podem ser definidos como agregaes de computadores de
forma dedicada ou no, para a execuo de aplicaes especficas de uma organizao.
A arquitetura de um cluster consiste basicamente em um conjunto de computadores
independentes e interconectados que juntos representam um nico recurso
computacional integrado [Buyya 1999]. Algumas vantagens da utilizao desse tipo de
arquitetura so a escalabilidade, pela adio de novas mquinas conectadas rede de
interconexo, e o custo, pelo uso de mquinas baratas.
J os grids possibilitam a agregao de ambientes geograficamente dispersos
[Dantas 2005], podendo utilizar uma rede pblica (como a Internet) para possibilitar a
execuo de servios distribudos, caracterstica essa que os diferencia dos clusters.

4.1. Parallel Virtual File System (PVFS)


O Parallel Virtual File System (PVFS) um tipo de sistema de arquivos, para Linux e
de cdigo aberto, que distribui os dados de arquivos entre diversos servidores e
possibilita o acesso concorrente aos dados por mltiplas tarefas de uma aplicao
paralela.
O sistema desenvolvido para o uso em larga escala por clusters, focando em
acesso de grandes conjuntos de dados [Carns 2000]. O mesmo consiste de um processo
servidor e uma biblioteca cliente, sendo que o cdigo deve ser construdo inteiramente
na camada de aplicao. A biblioteca cliente possibilita um acesso de alto desempenho
atravs da Message-Passing Interface (MPI).

4.2. HDF5
HDF a sigla para "Hierarchical Data Format", desenvolvido e mantido por um grupo
de trabalho do parque de pesquisas da Illinois University nos Estados Unidos. Trata-se
um formato de arquivos, associado a uma biblioteca de funes e um conjunto de
aplicativos, projetado para permitir de forma eficiente e independente de plataforma o
acesso a dados em sistemas computacionais [Benger 2000]. O HDF conta com uma boa
adeso por parte da comunidade cientfica [HDF Group 2007], sendo que atualmente a
biblioteca est em sua quinta verso (HDF5).

4.2.1 Arquitetura HDF5


Arquivos HDF5 so organizados em uma estrutura hierrquica. Esta, pode ser vista
como uma rvore de diretrios dentro de um arquivo. Suas duas estruturas primrias
so groups e datasets [HDF Group 2007]. Um HDF5 group uma estrutura de
agrupamento que pode conter zero ou mais instncias de grupos ou datasets, juntamente
com seus metadados, enquanto um HDF5 dataset um array multidimensional de
dados tambm em conjunto com seus metadados.
De forma mais detalhada (figura 2), um grupo contm zero ou mais HDF5
objects (grupos ou datasets), e composto por duas partes: a primeira formada por
um cabealho contendo o nome do grupo e uma lista de atributos, sendo que a segunda
parte uma tabela de smbolos com uma listagem dos objetos HDF5 que pertencem ao
grupo.

Figura 2. Estrutura de um arquivo HDF5

J um dataset possui um cabealho e um array de dados. O cabealho possui


quatro informaes importantes sobre os dados armazenados no mesmo:
Um nome, que uma seqncia de caracteres alfanumricos ASCII cujo
propsito identific-lo.
Um datatype, que, como o nome sugere armazena informa o tipo dos dados que
esto sendo armazenados, podendo ser atmico ou composto.
Tipos de dados atmicos pertencem a uma classe especfica e possuem
propriedades como tamanho, ordem, preciso e offset. As classes de dados
incluem os tipos integer, float, string, bit field e opaque.
Tipos de dados compostos so formados por vrios tipos tipos de dados
atmicos ou outros tipos compostos.
Um dataspace, que descreve a dimensionalidade do conjunto de dados. As
dimenses do conjunto podem ser fixas ou ilimitadas. Um dataspace tambm
pode descrever vrias sees do conjunto de dados, permitindo a realizao de
operaes de acesso parcial aos dados.

Figura 3. Exemplo conceitual de um arquivo HDF5

Na figura 3, h um exemplo conceitual de um arquivo HDF5, permitindo uma


melhor compreenso de sua estrutura. O arquivo sample.h5 composto pelos seguints
itens:
Um grupo no nvel mais alto, chamado / ;
O grupo /MyGroup , que contm o dataset /MyGroup/dset1 ;
O grupo /MyGroup/GroupA , contendo o dataset /MyGroup/GroupA/dset2 ;
O grupo /MyGroup/GroupB , que est vazio.
4.2.2 HDF5 em ambientes distribudos
Em um dos artigos estudados com propostas de utilizao do HDF5 [Ross 2001], foram
realizados testes de desempenho de acesso a dados com o formato sobre um sistema de
arquivos distribudo (PVFS) utilizando uma implementao do MPI-IO como camada
intermediria entre as duas tecnologias. Os resultados dos testes descritos no artigo
foram satisfatrios, sugerindo que o uso da arquitetura uma soluo interessante a ser
avaliada na telemedicina.

Figura 4. Camada Virtual de Arquivos do HDF5

A flexibilidade no uso de diversas solues na camada de armazenamento de


aplicaes que utilizam HDF5 se deve sua Virtual File Layer (figura 4), sendo esta
uma API de baixo nvel para acesso a dados. Isso permite que gerenciadores sejam
implementados para diferentes formas de armazenamento.
Uma dessas implementaes nativamente escrita para utilizar MPI-IO,
tornando possvel o uso do ROMIO/PVFS.

4.2.3 HDF5 e bancos de dados relacionais


Em mais um artigo utilizado como base para este estudo [Cohen 2005], feito um
comparativo interessante entre o uso de um banco de dados relacional e acesso a disco
em arquivos HDF5.
Foram criadas duas estruturas de dados distintas no banco de dados relacional
(arrays e nested tables), com o objetivo de armazenar grandes quantidades de nmeros
de ponto flutuante. Os testes foram realizados com grandes conjuntos de dados (quase
80.000.000 registros), mdios e pequenos (720.000 registros).
Em todos os testes de gravao e consulta, o formato HDF5 obteve desempenho
superior, o que sugere que possvel obter tambm bons resultados em testes na
telemedicina.DICOM o padro adotado pela Rede Catarinense de Telemedicina para
suas ferramentas de suporte a diagnstico, pelo fato dele prover uma excelente
interoperabilidade e portabilidade.

5. Abordagem na Telemedicina
Atualmente a Rede Catarinense de Telemedicina utiliza um sistema gerenciador de
bancos de dados relacionais (PostgreSQL) para o armazenamento de imagens no
formato DICOM como large objects.
Com o estudo realizado no uso da tecnologia HDF5 em sistemas distribudos,
pretende-se montar um cluster utilizando PVFS em conjunto com o MPI-IO na camada
de armazenamento de dados para realizar um comparativo no desempenho do acesso
aos dados de imagens mdicas.
Adicionalmente, para ser possvel a implementao desse ambiente, ter de ser
implementado um aplicativo que torne possvel a transformao de imagens DICOM
em arquivos HDF5, assim como o processo inverso.

Referncias
Benger, Werner. et al. (2000) Efficient Distributed File I/O for Visualization in Grid
Environments , Konrad-Zuze-Zentrum fr Informationstechnik Berlin.
Buyya, R. (1999) High Performance Cluster Computing . Prentice Hall PTR.
Carns, Philip H. et al. (2000) PVFS: A Parallel File System for Linux Clusters , em
Proceedings of the 4th Annual Linux Showcase & Conference, Atlanta.
Cohen, Shirley. et al. (2005) Scientific Formats for Object-Relational Database
Systems: A Study of Suitability and Performance , Computer and Information
Science University of Pensylvania.
Colouris, George. (2007) Sistemas Distribudos, Conceitos e Projeto , Artmed 4
edio.
Dantas, M. A. R. (2005) Computao Distribuda de Alto Desempenho , Axcel.
DICOM. (2007) Digital Imaging and Communications in Medicine, Introduction and
Overview , National Electrical Manufacturers Association.
HDF Group, The. (2007) HDF5 User's Guide , http://hdfgroup.org, acessado em
novembro.
Maia, Rafael Simon. (2006) Um Sistema de Telemedicina de Baixo Custo em Larga
Escala , Programa de Ps-Graduao em Cincias da Computao, Universidade
Federal de Santa Catarina.
Meglicki, Zdzislaw. (2004) High Performance Data Management and Processing ,
http://beige.ucs.indiana.edu/I590/node52.html, acessado em novembro de 2007.
MPICH2. (2007) High Performance Data Management and Processing , Argonne
National Laboratory, http://www.mcs.anl.gov/research/projects/mpich2, acessado em
dezembro.
Ross, Robert. e Nurmi, Daniel. (2001) A Case Study in Application I/O on Linux
Clusters , Association for Computery Machinery.
Tanenbaum, Andrew S. (2005) Sistemas Distribudos, Princpios e Paradigmas ,
Pearson Prentice Hall 2 edio.

Potrebbero piacerti anche