Identification of Physiological System

advertisement
IDENTIFICATION OF PHYSIOLOGICAL SYSTEM
- APPLICATION OF DESKTOP GRID SYSTEM
BOINC
Tomáš Kulhánek 1,,2 , Jan Šilar1 , Jiří Kofránek1 , Marek Mateják1 , Pavol
Privitzer1 , Martin Tribula 1
1
Laboratory of Biocybernetics and Computer Aided Teaching, Institute of
Pathological Physiology, First Faculty of Medicine, Charles University in
Prague, 2 CESNET z.s.p.o
Abstract
Modeling gives a simplified view on the physiology of human body using mathematical
equations nevertheless non-trivial relations could be seen. Validation of a model means
that the modeling physiological system is compared with the reality on a patient. This
validation consist of estimating quantities, which are not usually measurable under
normal condition. Validating of an educational model and so-called identification of
physiological system could be done using optimization algorithms. We show an
identification method on the last model HumMod. For computation purpose we utilized
computation capacity of the desktop PC as well as dedicated virtual servers in academic
network CESNET2. All formed a desktop grid system based on well known BOINC.
Keywords: identification of physiological systems, desktop grid
Introduction
Atlas of Physiology utilizes new opportunities of multimedia and
simulation models. These models connected with multimedia application can
educate students of medicine the aspects of human physiology and demonstrates
how the physiological systems are interconnected.[1] The models were
described by causal and non-hierarchical languages in the past, e.g. in
Matlab/Simulink, which describe the process of the computation. An essential
innovation introduced by new “acausal” tools consists in declarative (thus
acausal) writing of modelsde when individual parts of the model are described
directly as equations and not as an algorithm to solve the equations. We are in
the process of making our own development tool for the modeling language
Modelica, which shall make it possible to generate the resulting model in the
environment Microsoft .NET.[2] Some of the parameters of a physiological
model are not measurable by any technique or it's hard to measure them on live
human body. The identification of a parameter is a process to determine values
of a physiological model by numerical methods. This can be done with finding
local minimum or maximum and comparing the physiological model behavior
with real patient measurement. Identification of large number of parameters
implicates searching them in multidimensional space which might become
computation demanding task. Thus the methods to parallelize the computation is
being developed and integrate the computation into a grid computing
middleware.[3]
Identification system
The identification system consists of a user application. An user (usually a
researcher in integrative physiology) can choose a physiological model. The
known parameter values or value ranges can be set and it can be chosen the
parameters to identify. The one of the main feature of the used acausal modeling
language is ability to set known parameters and select unknown parameters to
identify in a given model, then specify different set of known parameter and
select different unknown parameter but on the same model representation
without need to touch the computation process. This would not be possible when
using causal languages [2].
Identification algorithm is model independent [4][5][6] and generates a lot
of optimization or inversion subtasks which can be computed independently but
should be integrated to search local extremes in parameter space. These local
extremes are returned to the user application where it could be visualized.
Currently, the identification algorithm is designed to be part of user
application instance or to be tigthly related to it but generated computation tasks
should be computed outside the application in a distributed environment to
minimize time to wait for results.
Distributing computation task to a desktop grid
There are several infrastructures and distributed technologies available for
computation tasks for purpose of academic research today. Thus it was
considered to design the identification system to be maximally open and not
tightly coupled with only one preselected computation infrastructure or
distributed middleware. Future change of the infrastructure and middleware
should have minimal impact on the algorithms or end-user application and
should be adopted without a tremendous effort.
A common approach to meet such requirement is to adopt some loosely
coupling technique on system design. For example service oriented architecture
(SOA) design can divide the system into several loosely coupled parts which are
integrated with a web service layer.
BOINC system was chosen as the pilot middleware to distribute
computation tasks as it's common system successfully used by other research
projects. And it allows to integrate computation capabilities and deploy a
proprietary project which may be distributed using capabilities already
implemented. BOINC is sometimes characterized as a desktop grid system
where a grid infrastructure is built by volunteer who installs a generic
application (BOINC client) and attach it to some selected projects URL. The
creators of the project must provide only platform specific binaries and
computation task. The popular project utilizing this type of grid computing is
e.g. SETI@home [7].
To implement own project there is needed to implement a server side
master process, which creates a multiple tasks and submits it using API to the
BOINC system. When all tasks are computed and results returned, master joins
the results together and makes final result. BOINC is open source as well as
desktop grid API (DC-API)[9]. The API are implemented in C++ thus it was
considered to integrate this API with some SOA enabled technologies. E.g. with
a web service enablement server in C++ the BOINC capabilities can be accessed
remotely and not tightly coupled with a project application itself. The Systinet
Server for C++ [11] licensed free for 1-CPU usage was chosen as the pilot
enablement server. Web service implements master process and provides an
interface to submit computation tasks related to identification system, control the
state and progress of the computation and retrieve the result.
There was also needed to implement client part of the computation
application which is platform depended and a generic wrapper which utilizes
client part of DC-API is used to employ physiological model specific .NET
computation application. On MS Windows clients the computation application
are called directly, the MONO project providing .NET framework is needed on
Linux clients.
The architecture of the identification system is on the picture 1. The
identification module provides API for the GUI to modify parameters of
physiological model. The main identification algorithm are curently
implemented in MATLAB. The identification algorithm generates high number
of computation tasks which are submitted via web service to the BOINC system,
where are finaly delivered to the model specific computation application.
Currently several desktop computers within the local network and virtual
computers from the pilot grid infrastructure Globus MEDICUS [8] are
connected to this project. BOINC client program automatically asks for new job
or upgrades a project specific computational binaries if available from the
project URL [10].
Conclusion
The introduced system is appropriate for batch like task. This might be
satisfactory for some problems related to research in integrative physiology.
However, in some cases there are demand for more interactive and prioritized
system, where some rough results are available in couple of seconds, instead of
hours or days. This is not so appropriate for grid based systems, even it's
possible to configure priorities in a limited available resources. Thus a system is
open to be possible enhanced e.g. to cloud computing technologies or other
appropriate methods.
Picture 1: Architecture of the system to estimate model parameters of
physiological systems in desktop grid environment.
Summary
The introduced system produce first results which shows that the task to
identify physiological system might be divided and distributed into distributed
environment to gain results in shorter time. The results also shows that the
system based on grid technologies is appropriate for batch-like long-term tasks
where there is no strict demand on time of result delivery, but there is
expectation that the time will be significantly lower than the time of computation
on single machine.
The results also shows that the physiological models could be used not
only as a part of educational application, but also as a base for estimating
unknown parameters during training and research on the real patients.
The concept of loosely coupled distribution service was designed to keep
the system open to other computation middleware and distributed technologies
which may be considered in future and can be implemented independently from
the identification algorithm. The other technologies currently considered are grid
infrastructure provided by the national research and educational network
operator CESNET within the EGI initiative or cloud computing infrastructure.
Acknowledgment
This work was supported by the grant projects ID 361, 2009/2 of
CESNET z.s.p.o.
References
[1] Jiří Kofránek, Marek Mateják, Stanislav Matoušek, Pavol Privitzer, Martin
Tribula, Ondřej Vacek: School as a (multimedia simulation) play: use of
multimedia applications in teaching of pathological physiology. In
MEFANET Report 2,Masaryk University, Brno, 2009, ISBN 978-80-2104851-5, str. 55-70
[2] Kofránek Jiří, Rusz Jan: Restoration of Guyton's diagram for regulation of
the circulation as a basis for quantitative physiological model development.
Physiological Research 59,897-908,2010
[3] Tomáš Kulhánek, Jan Šilar, Marek Mateják, Pavol Privitzer, Jiří Kofránek,
Martin Tribula:Distributed computation and parameter estimation in
identification of physiological systems, proceeding of VPH 2010, 30th Sep 1st Oct 2010 Brussels, Belgium
[4] J. A. Nelder and R. Mead, „A simplex method for function minimization“,
Computer Journal, 1965, vol 7, pp 308–313
[5] Hestenes, Magnus R.; Stiefel, Eduard (December 1952). Methods of
Conjugate Gradients for Solving Linear Systems, web:
http://nvl.nist.gov/pub/nistpubs/jres/049/6/V49.N06.A08.pdf
[6] B. Růžek (2008), Artificial Neural Network Inversion Tool, web:
http://www.ig.cas.cz/userdata/files/personal-pages/bruzek/ANNO/ANNIT_EN.pdf
[7] Zoltán Balaton, Gábor Gombás, Péter Kacsuk, Adam Kornafeld, József
Kovács, Csaba Attila Marosi, Gábor Vida, Norbert Podhorszki, Tamás Kiss,
SZTAKI Desktop Grid: a Modular and Scalable Way of Building Large
Computing Grids. Proceedings of the 21st International Parallel and
Distributed Processing Symposium (IPDPS 2007), 26-30 March 2007, Long
Beach, California, USA, web: http://www.desktopgrid.hu/
[8] Kulhanek Tomas, Sarek Milan: Processing of medical information in virtual
distributed environment. In EATIS 09 Contribution Proceedings. Euro
American Conference on Telematics & Information Systems, Prague 3-5
June 2009, Wirelesscom s.r.o., 2009, ISBN #978-1-60558-398-3
[9] Anderson, D. P., Cobb, J., Korpela, E., Lebofsky, M., and Werthimer, D.
2002. SETI@home: an experiment in public-resource computing. Commun.
ACM 45, 11 (Nov. 2002), 56-61. web: http://setiathome.ssl.berkeley.edu/
[10] http://physiome.lf1.cuni.cz/ident3/
[11] http://wso2.com/products/ses/
Download