Хмарний сервіс ідентифікації людини за її електрокардіограмою

Telemedicine grows faster with each year. In scope of it new technologies have been created to solve information communication problems. One of them is distance monitoring which requires electrocardiogram analysis. In this case it is important to confirm that the transferred electrocardiogram throug...

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2023
Автор: Luhovskyi, Yu.O.
Формат: Стаття
Мова:English
Опубліковано: Інститут програмних систем НАН України 2023
Теми:
Онлайн доступ:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/550
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Problems in programming
Завантажити файл: Pdf

Репозитарії

Problems in programming
id pp_isofts_kiev_ua-article-550
record_format ojs
resource_txt_mv ppisoftskievua/60/21fcbf4d24d8ec3617561e82dc8f4f60.pdf
spelling pp_isofts_kiev_ua-article-5502023-06-25T08:23:36Z Cloud service for authentication of a person based on their electrocardiogram Хмарний сервіс ідентифікації людини за її електрокардіограмою Luhovskyi, Yu.O. electrocardiogram; authentication; classification; cloud infrastructure UDC 004.9 електрокардіограма; автентифікація; класифікація; хмарний сервіс УДК 004.9 Telemedicine grows faster with each year. In scope of it new technologies have been created to solve information communication problems. One of them is distance monitoring which requires electrocardiogram analysis. In this case it is important to confirm that the transferred electrocardiogram through information channels belongs to the patient. Researchers from different countries work on this problem. They suggest different methods of authentication by electrocardiogram. The goal of this work is to suggest a prototype of a service that could be used to authenticate electrocardiograms.The paper describes which algorithms have been used to build authentication technology and how it was implemented. There is a short history of built applications. It shows their structures and the purpose. The recently developed system is a prototype to authentication service. It performs registration of new electrocardiograms which is the most time consuming process in authentication. The paper describes the architecture of the system and shows the result of executed experiments. The results show that there is a performance issue with the machine learning library ML.NET. When a lot of cores are allocated to one machine learning instance the overheads highly decrease the overall experiment time. These experiments confirmed Amdahl’s law. Nevertheless, an architecture was found where experiments took the least time for execution. Knowing the issue with the machine learning library, a new architecture setup was suggested and will be implemented in future works.Besides, attention is paid on how developed service should help researchers to improve the technology. The main idea of the system is using one service for developing and testing the technology. That means we can be sure that the cloud service that runs on production would behave the same as in the research phase.Prombles in programming 2022; 3-4: 485-490  Телемедицина з кожним роком пришвидшує свій розвиток. Відбувається це за рахунок винайдення нових технологій, що розвивають комунікацію та роботу з даними. Одним із напрямків, в телемедицині є дистанційний моніторинг, задачею якого є постійно контролювати стан пацієнта. Це здійснюється перевіркою різних показників, в тому числі, йі електрокардіограми. Важливо, щоб надіслана кардіограма належала саме пацієнтові на моніторингу. Для цього розробляється технологія автенти- фікації по електрокардіограмі. Дослідники з різних країн працюють над цим питанням використовуючи підходи, що можуть сильно відрізнятись.В цій роботі описується прототип хмарного сервісу по автентифікації. Описуються алгоритми, що використовувались для побудови технології автентифікації та додатків, що реалізують цю технологію. Показуються послідовні розробки додатків та описуються їх задачі. Останній розроблений додаток - це хмарний сервіс, побудований на мікросервісах, що виконує реє- страцію електрокардіограм. Це є найбільш витратна щодо часу операція автентифікації. Приводиться архітектура сервісу та результати експериментів. По результатах помітно, що є проблеми з машинним навчанням, а саме бібліотекою ML.NET. Коли виділяється багато ядер для одного екземпляра мікросервіса, що навчає нейромережі, виникають накладні витрати на роз- паралелювання, що сильно впливає на продуктивність. Це підтверджує закон Амдала. За наявної архітектури була знайдена конфігурація, при якій час на проведення експериментів був найменшим. Враховуючи проблему з накладними витратами нова архітектура була запропонована для подальших досліджень.Розглядається, як розроблена архітектура повинна допомогти в розвитку технології. Ідея системи полягає у використанні одного і того ж сервісу для досліджень і в промисловому використанні. Це дасть гарантію, що промисловий сервіс буде поводитись так само як і при дослідженні.Prombles in programming 2022; 3-4: 485-490  Інститут програмних систем НАН України 2023-01-23 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/550 10.15407/pp2022.03-04.485 PROBLEMS IN PROGRAMMING; No 3-4 (2022); 485-490 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 3-4 (2022); 485-490 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 3-4 (2022); 485-490 1727-4907 10.15407/pp2022.03-04 en https://pp.isofts.kiev.ua/index.php/ojs1/article/view/550/603 Copyright (c) 2023 PROBLEMS IN PROGRAMMING
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2023-06-25T08:23:36Z
collection OJS
language English
topic electrocardiogram
authentication
classification
cloud infrastructure
UDC 004.9
електрокардіограма
автентифікація
класифікація
хмарний сервіс
УДК 004.9
spellingShingle electrocardiogram
authentication
classification
cloud infrastructure
UDC 004.9
електрокардіограма
автентифікація
класифікація
хмарний сервіс
УДК 004.9
Luhovskyi, Yu.O.
Хмарний сервіс ідентифікації людини за її електрокардіограмою
topic_facet electrocardiogram
authentication
classification
cloud infrastructure
UDC 004.9
електрокардіограма
автентифікація
класифікація
хмарний сервіс
УДК 004.9
format Article
author Luhovskyi, Yu.O.
author_facet Luhovskyi, Yu.O.
author_sort Luhovskyi, Yu.O.
title Хмарний сервіс ідентифікації людини за її електрокардіограмою
title_short Хмарний сервіс ідентифікації людини за її електрокардіограмою
title_full Хмарний сервіс ідентифікації людини за її електрокардіограмою
title_fullStr Хмарний сервіс ідентифікації людини за її електрокардіограмою
title_full_unstemmed Хмарний сервіс ідентифікації людини за її електрокардіограмою
title_sort хмарний сервіс ідентифікації людини за її електрокардіограмою
title_alt Cloud service for authentication of a person based on their electrocardiogram
description Telemedicine grows faster with each year. In scope of it new technologies have been created to solve information communication problems. One of them is distance monitoring which requires electrocardiogram analysis. In this case it is important to confirm that the transferred electrocardiogram through information channels belongs to the patient. Researchers from different countries work on this problem. They suggest different methods of authentication by electrocardiogram. The goal of this work is to suggest a prototype of a service that could be used to authenticate electrocardiograms.The paper describes which algorithms have been used to build authentication technology and how it was implemented. There is a short history of built applications. It shows their structures and the purpose. The recently developed system is a prototype to authentication service. It performs registration of new electrocardiograms which is the most time consuming process in authentication. The paper describes the architecture of the system and shows the result of executed experiments. The results show that there is a performance issue with the machine learning library ML.NET. When a lot of cores are allocated to one machine learning instance the overheads highly decrease the overall experiment time. These experiments confirmed Amdahl’s law. Nevertheless, an architecture was found where experiments took the least time for execution. Knowing the issue with the machine learning library, a new architecture setup was suggested and will be implemented in future works.Besides, attention is paid on how developed service should help researchers to improve the technology. The main idea of the system is using one service for developing and testing the technology. That means we can be sure that the cloud service that runs on production would behave the same as in the research phase.Prombles in programming 2022; 3-4: 485-490
publisher Інститут програмних систем НАН України
publishDate 2023
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/550
work_keys_str_mv AT luhovskyiyuo cloudserviceforauthenticationofapersonbasedontheirelectrocardiogram
AT luhovskyiyuo hmarnijservísídentifíkacíílûdinizaííelektrokardíogramoû
first_indexed 2024-09-12T19:29:55Z
last_indexed 2024-09-12T19:29:55Z
_version_ 1811522605534937088
fulltext 485 Прикладне програмне забезпечення УДК 004.9 http://doi.org/10.15407/pp2022.03-04.485 CLOUD SERVICE FOR AUTHENTICATION OF A PERSON BASED ON THEIR ELECTROCARDIOGRAM Yurii Luhovskyi Телемедицина з кожним роком пришвидшує свій розвиток. Відбувається це за рахунок винайдення нових технологій, що розвивають комунікацію та роботу з даними. Одним із напрямків, в телемедицині є дистанційний моніторинг, задачею якого є постійно контролювати стан пацієнта. Це здійснюється перевіркою різних показників, в тому числі, йі електрокардіограми. Важливо, щоб надіслана кардіограма належала саме пацієнтові на моніторингу. Для цього розробляється технологія автенти- фікації по електрокардіограмі. Дослідники з різних країн працюють над цим питанням використовуючи підходи, що можуть сильно відрізнятись. В цій роботі описується прототип хмарного сервісу по автентифікації. Описуються алгоритми, що використовувались для побудови технології автентифікації та додатків, що реалізують цю технологію. Показуються послідовні розробки додатків та описуються їх задачі. Останній розроблений додаток - це хмарний сервіс, побудований на мікросервісах, що виконує реє- страцію електрокардіограм. Це є найбільш витратна щодо часу операція автентифікації. Приводиться архітектура сервісу та результати експериментів. По результатах помітно, що є проблеми з машинним навчанням, а саме бібліотекою ML.NET. Коли виділяється багато ядер для одного екземпляра мікросервіса, що навчає нейромережі, виникають накладні витрати на роз- паралелювання, що сильно впливає на продуктивність. Це підтверджує закон Амдала. За наявної архітектури була знайдена конфігурація, при якій час на проведення експериментів був найменшим. Враховуючи проблему з накладними витратами нова архітектура була запропонована для подальших досліджень. Розглядається, як розроблена архітектура повинна допомогти в розвитку технології. Ідея системи полягає у використанні одного і того ж сервісу для досліджень і в промисловому використанні. Це дасть гарантію, що промисловий сервіс буде по- водитись так само як і при дослідженні. Ключові слова: електрокардіограма, автентифікація, класифікація, хмарний сервіс Telemedicine grows faster with each year. In scope of it new technologies have been created to solve information communication problems. One of them is distance monitoring which requires electrocardiogram analysis. In this case it is important to confirm that the transferred electrocardiogram through information channels belongs to the patient. Researchers from different countries work on this problem. They suggest different methods of authentication by electrocardiogram. The goal of this work is to suggest a prototype of a service that could be used to authenticate electrocardiograms. The paper describes which algorithms have been used to build authentication technology and how it was implemented. There is a short history of built applications. It shows their structures and the purpose. The recently developed system is a prototype to authentication service. It performs registration of new electrocardiograms which is the most time consuming process in authentication. The paper describes the architecture of the system and shows the result of executed experiments. The results show that there is a performance issue with the machine learning library ML.NET. When a lot of cores are allocated to one machine learning instance the overheads highly decrease the overall experiment time. These experiments confirmed Amdahl’s law. Nevertheless, an architecture was found where experiments took the least time for execution. Knowing the issue with the machine learning library, a new architecture setup was suggested and will be implemented in future works. Besides, attention is paid on how developed service should help researchers to improve the technology. The main idea of the system is using one service for developing and testing the technology. That means we can be sure that the cloud service that runs on production would behave the same as in the research phase. Keywords: electrocardiogram, authentication, classification, cloud infrastructure Information systems Introduction. Nowadays telemedicine has become much more popular. After the epidemic of COVID19 the need for distance consultations rapidly grew. That forced creation of new technologies and new equipment in this field. The distance monitoring that is a part of telemedicine is also improving. The part of it is biometric authentication by electrocardiogram (ECG). It is created to prove that sending ECG from a patient to a doctor through information chan- nels really belongs to that person. Researchers from different countries suggest using authentication by ECG not only in telemedicine but in other systems where access can be provided with ECG. It can be used on its own or as an additional security to other authentication methods. To solve authentication problems researchers use different approaches [1, 2, 3, 4, 5, 6]. Some of them use naked ECG curves and with help of deep learning create neural models which are used to classify other naked ECG curves [2]. Some other approaches use algorithms that can compare two different curves which are used to distinguish ECG curves [3]. And others that process ECG, get features and use them in a couple with machine learning to classify ECGs. The paper described developed programs that were based on research presented in the articles [7, 8, 9]. There is a patent for this technology [10]. The intention is not to show the efficiency of technology but describe chosen program decisions required to implement this technology. First a desktop program was developed which could register a new ECG and make authentication based on it. When the efficiency of technology was confirmed, © Ю.О. Луговський, 2022 ISSN 1727-4907. Проблеми програмування. 2022. № 3-4. Спеціальний випуск 486 Прикладне програмне забезпечення a new application was developed. It was able to register a big set of ECGs. After running a couple of experiments it became clear that developed algorithms take too much time to register one ECG. It is a big problem since nobody wants to use this technology on live production. To solve the issue a new information system has been created that is based on microservices and deployed to a cloud. It was shown the revealed issues with the system and how the calculation was improved using existing resources. The developed system became a prototype of cloud service for authentication. Besides, the developed system saves researchers time usually spent for manual data manipulation or other manual work. It was built in the way to organize work with experiments. Results. Before looking into programs and information systems it is worth understanding the principles used for authentication by ECG. Input data for authentication is a file with ECG signal. The signal is loaded from the file then processed and presented in three dimensional phase space [3]. Then from the presented cardiac cycles selected one that is the most closest to the average cycle. Using parametric spline found 4 coordinates in three dimensional space that approximate the selected cardiac cycle the most [2]. Founded coordinates used as input for machine learning to learn a model and then to classify ECGs. The efficiency of this approach is described in the article [1]. The authentication approach can be divided logically into two main parts that are presented on Fig 1. The first is ECG processing and creating coordinates for machine learning. The second is learning neural networks and classify- ing ECGs by coordinates. Прикладне програмне забезпечення Besides, the developed system saves researchers time usually spent for manual data manipulation or other manual work. It was built in the way to organize work with experiments. Results. Before looking into programs and information systems it is worth understanding the principles used for authentication by ECG. Input data for authentication is a file with ECG signal. The signal is loaded from the file then processed and presented in three dimensional phase space [3]. Then from the presented cardiac cycles selected one that is the most closest to the average cycle. Using parametric spline found 4 coordinates in three dimensional space that approximate the selected cardiac cycle the most [2]. Founded coordinates used as input for machine learning to learn a model and then to classify ECGs. The efficiency of this approach is described in the article [1]. The authentication approach can be divided logically into two main parts that are presented on Fig 1. The first is ECG processing and creating coordinates for machine learning. The second is learning neural networks and classifying ECGs by coordinates. Fig. 1 Simplified schema of authentication technology Having prommissing result for the technology described in the article [1] a new program has been developed using C# language. It implements the described approach so the functionality allows to register a new ECG and authenticate a loaded one. The goal of this program and other solutions is to authenticate only one registered ECG. The idea is to provide or not provide access to a registered user. The functionality related to ECG processing was organized and put into a library. The library for machine learning was created as well. It uses open source framework ML.NET under the hood. The library consumes a list of coordinates and provides a learned model or classification results. The library made communication with machine learning much easier since it defines contracts that used to exchange data. It is worth describing how the algorithm decides if ECG belongs to a registered one or not. The program contains coordinates of 10 fake ECGs that don’t belong to anybody. They are all used when registering a new ECG. New ECG requires 10 learned models. The modal is learned based on the pair of coordinates from input ECG and one fake ECG. Then these 10 learned models are used to identify ECG by average classification results. The next step in research was to repeat the experiments using a bigger amount of input data. For this purpose a new desktop application was created. It also included the ECG processing and machine learning libraries. The application developed to read the amount of input ECG files and save intermediate and output results with learned models into a specific folder in a file system. This application can be described with the schema presented on Fig. 2. It realizes the idea of running isolated experiments. That means that for each experiment creates a folder with input ECGs. On execution all artifacts are saved to the same experiment folder. That approach allows to have isolated environment for an experiment where saved data related only to this experiment. With this approach it is good to track changes. Having intermediate results that are stored in the folders is very useful since it makes possible to validate a part of the application. Fig. 1 Simplified schema of authentication technology Having prommissing result for the technology described in the article [1] a new program has been devel- oped using C# language. It implements the described approach so the functionality allows to register a new ECG and authenticate a loaded one. The goal of this program and other solutions is to authenticate only one registered ECG. The idea is to provide or not provide access to a registered user. The functionality related to ECG processing was organized and put into a library. The library for machine learning was created as well. It uses open source framework ML.NET under the hood. The library consumes a list of coordinates and provides a learned model or classification results. The library made communication with machine learning much easier since it defines contracts that used to exchange data. It is worth describing how the algorithm decides if ECG belongs to a registered one or not. The program contains coordinates of 10 fake ECGs that don’t belong to anybody. They are all used when registering a new ECG. New ECG requires 10 learned models. The modal is learned based on the pair of coordinates from input ECG and one fake ECG. Then these 10 learned models are used to identify ECG by average classification results. The next step in research was to repeat the experiments using a bigger amount of input data. For this pur- pose a new desktop application was created. It also included the ECG processing and machine learning libraries. The application developed to read the amount of input ECG files and save intermediate and output results with learned models into a specific folder in a file system. This application can be described with the schema presented on Fig. 2. It realizes the idea of running isolated experiments. That means that for each experiment creates a folder with input ECGs. On execution all artifacts are saved to the same experiment folder. That approach allows to have isolated environment for an ex- periment where saved data related only to this experiment. With this approach it is good to track changes. Having intermediate results that are stored in the folders is very useful since it makes possible to validate a part of the application. The application starts with a name of an experiment that corresponds to the name of a folder where input ECGs are stored. Then all files are read from a folder (1) and the first file loaded into memory (2). Next step is to process ECG signals and find the coordinates of ECG (3). After that the coordinates from 10 faked persons are loaded (4). Then loaded coordinates and the found one from the input ECG are combined together and saved into a file that machine learning will use. Created file loaded into a folder (5). Then the file with coordinates for ma- chine learning download from the folder and the data are formatted to 10 datasets (6). In the next step one model is learned using prepared data (7). Learning model repeats 10 times. When all models are learned the application takes the next ECG file from the list and executes all that steps. At the end of experiments each ECG data will have corresponding 10 learned models. Described application performs all calculations sequentially. Running the application on a local machine with 2 cores 2.3 GHz each using 30 ECGs took 12 min 41 sec. On average registration of one ECG took 25 sec. Most of the time spent learning 10 neural network models, it took 18 sec on average. The second costly part was to process ECG and find coordinates, it took 5 sec on average. It takes a lot of time to create a record for one ECG. If there is a need to run a lot of experiments or the amount of ECG data will rapidly increase, most of the 487 Прикладне програмне забезпечення time would be spent waiting for results. To decrease time spending for registration of one ECG heavy parts of application should be parallelised. So the next step after the application that works with a big amount of data was to create an information sys- tem that would be more efficient. It was created and built on microservices which deployed into the university cloud. Shortly speaking it is a separated virtual machine on the university server. The information system uses the same approaches that a desktop application does. The schema on Fig. 3 pres- ents the way how the application was divided into microservices. Прикладне програмне забезпечення [Введите текст] Fig. 2 Execution workflow for the application The application starts with a name of an experiment that corresponds to the name of a folder where input ECGs are stored. Then all files are read from a folder (1) and the first file loaded into memory (2). Next step is to process ECG signals and find the coordinates of ECG (3). After that the coordinates from 10 faked persons are loaded (4). Then loaded coordinates and the found one from the input ECG are combined together and saved into a file that machine learning will use. Created file loaded into a folder (5). Then the file with coordinates for machine learning download from the folder and the data are formatted to 10 datasets (6). In the next step one model is learned using prepared data (7). Learning model repeats 10 times. When all models are learned the application takes the next ECG file from the list and executes all that steps. At the end of experiments each ECG data will have corresponding 10 learned models. Described application performs all calculations sequentially. Running the application on a local machine with 2 cores 2.3 GHz each using 30 ECGs took 12 min 41 sec. On average registration of one ECG took 25 sec. Most of the time spent learning 10 neural network models, it took 18 sec on average. The second costly part was to process ECG and find coordinates, it took 5 sec on average. It takes a lot of time to create a record for one ECG. If there is a need to run a lot of experiments or the amount of ECG data will rapidly increase, most of the time would be spent waiting for results. To decrease time spending for registration of one ECG heavy parts of application should be parallelised. So the next step after the application that works with a big amount of data was to create an information system that would be more efficient. It was created and built on microservices which deployed into the university cloud. Shortly speaking it is a separated virtual machine on the university server. The information system uses the same approaches that a desktop application does. The schema on Fig. 3 presents the way how the application was divided into microservices. Fig. 2 Execution workflow for the applicationПрикладне програмне забезпечення Fig. 3 Application breakdown to different microservices Four microservices were created: ExperimentRunnerApi, EcgProcessingApi, LearningRunnerApi, MachineLearning.EngineApi. The idea of partitioning was to move the time consuming calculations to a separate microservices. The MachineLearning.EngineApi is responsible for learning models and EcgProcessingApi processes ECG and prepares coordinates for machine learning. ExperimentRunnerApi is an orchestrator that starts the process for selected ECG and coordinates microservices. LearningRunnerApi prepares data for machine learning and manages work with neural models. The communication with ExperimentRunnerApi and between microservices themself happen using HTTP protocol. The information system uses high performance object storage MinIO to store input ECG files and all artifacts. The system saved the same principle of isolated experiment. The schema on Fig. 4 presents the flow of requests when the experiment is executed. Fig. 4 Requests workflow between microservices and storage The workflow is the following. Numbers present a sequence of requests or responses. 1) Start the experiment. The request contains the name of the experiment. Fig. 3 Application breakdown to different microservices 488 Прикладне програмне забезпечення Four microservices were created: ExperimentRunnerApi, EcgProcessingApi, LearningRunnerApi, Machine- Learning.EngineApi. The idea of partitioning was to move the time consuming calculations to a separate microser- vices. The MachineLearning.EngineApi is responsible for learning models and EcgProcessingApi processes ECG and prepares coordinates for machine learning. ExperimentRunnerApi is an orchestrator that starts the process for selected ECG and coordinates microservices. LearningRunnerApi prepares data for machine learning and manages work with neural models. The communication with ExperimentRunnerApi and between microservices themself happen using HTTP protocol. The information system uses high performance object storage MinIO to store input ECG files and all artifacts. The system saved the same principle of isolated experiment. The schema on Fig. 4 presents the flow of requests when the experiment is executed. Прикладне програмне забезпечення Fig. 3 Application breakdown to different microservices Four microservices were created: ExperimentRunnerApi, EcgProcessingApi, LearningRunnerApi, MachineLearning.EngineApi. The idea of partitioning was to move the time consuming calculations to a separate microservices. The MachineLearning.EngineApi is responsible for learning models and EcgProcessingApi processes ECG and prepares coordinates for machine learning. ExperimentRunnerApi is an orchestrator that starts the process for selected ECG and coordinates microservices. LearningRunnerApi prepares data for machine learning and manages work with neural models. The communication with ExperimentRunnerApi and between microservices themself happen using HTTP protocol. The information system uses high performance object storage MinIO to store input ECG files and all artifacts. The system saved the same principle of isolated experiment. The schema on Fig. 4 presents the flow of requests when the experiment is executed. Fig. 4 Requests workflow between microservices and storage The workflow is the following. Numbers present a sequence of requests or responses. 1) Start the experiment. The request contains the name of the experiment. Fig. 4 Requests workflow between microservices and storage The workflow is the following. Numbers present a sequence of requests or responses. 1) Start the experiment. The request contains the name of the experiment. 2) Read all file names with ECGs 3) Send request to process ECG and find coordinates 4) Download ECG file content 5) Save prepared data for machine learning model 6) Success response that data for machine learning model is created 7) Send request to learn models for previously selected ECG 8) Read prepared data for learning 9) Send request to learn model for one pair of data that consists from input ECG coordinates dataset and one fake ECG coordinates dataset. 10) Save learned model. 11) Success response that model has been learned 12) Success response that models for input ECG were learned Microservices have the ability to process a couple of requests simultaneously so it should help to reduce the overall execution time. Microservices deployed to a virtual machine which consumes a dedicated number of server cores. A microservice has access to all virtual machine cores. Configuration and deployment of microser- vices are performed with Kubernetes. Each microservice presented in one instance and there was no horizontal scaling for loaded instances. All communications between microservices and storage were sequential by default. Only the machine learning instance performs learning neural models with parallel computations since ML.NET does it by default. The machine learning instance will use all allocated cores to the virtual machine. To reduce total experiment time the requests to learn neural models were sent in the way to learn the specific amount of models simultaneously. The idea was to find the best configuration for a system that took minimum time for the experiment. The experiments included registration of 30 ECGs. Table 1 presented the time results of experiments and re- lated configurations to them. 489 Прикладне програмне забезпечення Table 1. Experiment results Allocated cores Simultaneously learned models Total experiment time for 30 ECGs Average time to learn one model 2 1 12 min 8 sec 2.1 sec 2 2 10 min 31 sec 3.2 sec 2 3 9 min 2 sec 4 sec 2 4 8 min 59 sec 5.2 sec 2 5 8 min 47 sec 6.4 sec 4 1 12 min 31 sec 2.2 sec 4 2 8 min 15 sec 2.7 sec 4 3 7 min 51 sec 3.5 sec 4 4 7 min 19 sec 4.1 sec 4 5 6 min 59 sec 5 sec 6 1 15 min 28 sec 2.8 sec 6 2 9 min 39 sec 3.2 sec 6 3 8 min 52 sec 3.9 sec 6 4 8 min 48 sec 4.7 sec 8 1 20 min 3 sec 3.7 sec 8 2 12 min 18 sec 4.2 sec 8 3 10 min 29 sec 4.7 sec 8 4 9 min 33 sec 5.8 sec Learning 5 and more neural models simultaneously didn’t give valuable improvements so the experiments contained maximum 5 simultaneously learned models. Analyzing the results we can see a weird pattern when with an increasing number of allocated cores the execution time increased. There is Amdahl’s law that could be helpful here [11]. It says that performance for the application that has some parallelizable part of the program would be increasing with adding new cores to some specific amount of cores. This happen because execution time for all parallel work can’t be less than longest sequential work that parralized. But in these experiments we see that efficiency dropping down with adding new cores. This is very visible in experiments when only one model is learning simultaneously. Am- dahl’s law also mentions this issue and says that it is related to overheads. All parallel work contains some sequential part which performs parallelization. So sometimes with adding a lot of cores a lot of sequential work is also added which can decrease the performance. Comparing experiment time when experiment runs on 2 and 8 cores where only one neural model learned simultaneously we see that efficiency dropped for 8 minutes. This is the issue with learning neural models since the average time to learn one increased by 1.6 seconds. Because learning neural models took 86% of all experiment time the parallelization delays influence a lot. The ML.NET didn’t work efficiently in this case. Better performance was achieved when learning a couple of models simultaneously. For this architecture where presented only one instance of microservice the best configuration was allocation 4 cores to virtual machine and learning 5 models simultaneously. Taking into account the drawback of ML.NET, the better architecture should have up to 10 instances for machine learning microservice where each instance has its own core. This helps to mitigate the issue with over- heads. Future research. The next step in research is to deploy and test architecture with 10 instances created for machine learning microservice. Then configure horizontal scaling for all microservices and parallelize others. Also expand functionality for the system by making it possible to measure the efficiency of authentication on a big set of data. It will help to track all changes in the technology and see how new changes influence the authentication result. It will help to improve technology iteratively. Conclusions. While testing cloud authentication service revealed a problem with decreasing performance when increasing the number of allocated cores to the virtual machine. The issue was in learning neural models and it is easy to see on experiments results. The explanation to them is found in Amdahl’s law. The performance dropped since learning models happened with overheads. It highly impacted overall experiment time since learning models take 86% of time for one ECG registering process. This forces the creation of another architecture where each instance of machine learning microservices has its own core. Using this authentication service in research and testing provides us confidence that the service on live produc- tion will behave the same as on research. 490 Прикладне програмне забезпечення References 1. Yogendra N. S., Gupta P. Biometrics Method for Human Identification Using Electrocardiogram. Advances in Biometrics: Third International Conference, ICB 2009. – Italy, 2019. – P. 1270-1279. 2. Pei-Lun Hong, Jyun-Ya Hsiao, Chi-Hsun Chung, Yao-Min Feng, and Shun-Chi Wu. Ecg biometric recognition: template-free approaches based on deep learning. In 2019 41st Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC), pages 2633– 2636. IEEE, 2019. 3. Sairul I Safie, John J Soraghan, and Lykourgos Petropoulakis. Electrocardiogram (ECG) Biometric Authentication Using Pulse Active Ratio (PAR). IEEE Transactions on Information Forensics and Security. – 2011. – Vol. 6. – №4. – P. 1315 – 1322. 4. Adrian D. C. Chan, Mohyeldin M. Hamdy, Armin Badre, Vesal Badee Wavelet Distance Measure for Person Identification Using Electrocar- diograms. IEEE Transactions on Instrumentation and Measurement. – 2008. – Vol.57. – P. 248-253. 5. Fainzilberg L.S., Potapova T.P. Computer Analysis and Recognition of Cognitive Phase Space Electrocardiographic Image. Proceeding of 6th International Conference on Computer analysis of Images and Patterns (CAIP-95). – Prague, 1995. – P. 668-673. 6. Shih-Chin Fang, Hsiao-Lung Chan. QRS detection-free electrocardiogram biometrics in the reconstructed phase space. Pattern Recognition Letters. – 2013. – Vol. 34. – P. 595-602. 7. Вишневский В.В., Романенко Т.Н., Кизуб Л.А. Биометрическая идентификация человека по его электрокардиограмме. Математичні машини і системи. 2018. № 2. С. 88–95. 8. Вишневский В.В., Калмыков В.Г., Романенко Т.Н. Аппроксимация одно-, дву- и трехмерных дуг кривых параметрическими сплайнами. Математичні машини і системи. 2015. № 4. С. 57–64. 9. Вишневський В.В., Романенко Т.М. Застосування метрики Хаусдорфа для визначення нетипових кардіоциклів у тривимірному фазовому просторі координат вектор-кардіограми. Медична інформатика і інженерія. 2019. № 3. С. 31–36. 10. Вишневський В.В. Спосіб автоматичної автентифікації людини за її електрокардіограмою: пат. України на винахід № 117713; заявл. 15.02.17; опубл. 10.09.18, Бюл. № 17. 3.66 с. 11. Gene Amdahl. Validity of the single processor approach to achieving large scale computing capabilities, reprinted from the afips conference proceedings, vol. 30 (atlantic city, n.j., apr. 18–20). Solid-State Circuits Newsletter, IEEE , 12:19 – 20, 02 2007. Received 02.08.2022 About the author: Luhovskyi Yurii Olexandrovich postgraduate student, Ukraine, Kyiv, Balzaka street 58, flat 43; publications in domestic magazines - 3, h-index 0, https://orcid.org/0000-0002-0195-2770 Place of work: The Institute Of Mathematical Machines and Systems Problems National Academy Of Science Of Ukraine (IMMSP NASU). 42 Academician Glushkov Avenue, Kyiv 03187, Ukraine. (044) 526-24-97 Прізвища та ініціали авторів і назва доповіді українською мовою: Луговський Ю. О. Хмарний сервіс ідентифікації людини за її електрокардіограмою Прізвища та ініціали авторів і назва доповіді англійською мовою: Yurii Luhovskyi Cloud service for authentication of a person based on their electrocardiogram