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/