Coplanificación de procesos maleables de aprendizaje automático mediante contenedores
- Autores
- Libutti, Leandro Ariel
- Año de publicación
- 2023
- Idioma
- español castellano
- Tipo de recurso
- tesis de maestría
- Estado
- versión aceptada
- Colaborador/a o director/a de tesis
- Igual, Francisco
De Giusti, Laura Cristina - Descripción
- En las últimas décadas, el avance de los algoritmos de Aprendizaje Automático (Machine Learning, ML) ha despertado el interés en la búsqueda de estrategias que logren acelerar los procesos de entrenamiento e inferencia típicos de este ámbito, especialmente cuando éstos surgen en servidores con un elevado grado de paralelismo, complejidad y heterogeneidad. Típicamente, estos procesos se realizan a través de entornos de trabajo (frameworks) de propósito específico tales como Tensoflow, Keras, Caffe o Pytorch. A día de hoy, Tensorflow es uno de los frameworks más utilizados por parte de los desarrolladores de algoritmos de ML. Desde el punto de vista de rendimiento computacional, existen entre sus parámetros de configuración diversas opciones de configuración relativas al grado de paralelismo, que pueden ser fijadas a priori, pero no pueden ser reconfiguradas durante el proceso de entrenamiento o inferencia, por lo que se consideran parámetros rígidos. En situaciones en las que múltiples instancias del framework se ejecutan en una misma máquina, dicha rigidez puede derivar en problemas tales como oversuscription, degradamiento del rendimiento del sistema y/o aplicación e infrautilización de los recursos computacionales. Por lo tanto, resulta importante agregar un grado de elasticidad en Tensorflow, permitiendo aumentar la productividad del sistema en entornos dinámicos multiprogramados. Por otro lado, la utilización de contenedores como método de virtualización ligera permite una mejor administración de los recursos y portabilidad. Existen múltiples planificadores que permiten aprovechar los beneficios de los contenedores, pero solo permiten llevar a cabo una asignación estática de recursos en el momento de su creación, y en algunos casos reasignación de recursos en tiempo de ejecución; en cualquier caso, las aplicaciones en ejecución dentro del contenedor no se encuentran preparadas para reaccionar ante dicho evento, y por tanto no se adaptarán en ningún caso a la modificación en los recursos asignados al contenedor. Por todo lo comentado anteriormente, este trabajo propone el diseño e implementación de un mecanismo completo de elasticidad en el uso de recursos computacionales en el framework Tensorflow, permitiendo la reasignación dinámica de núcleos de cómputo durante la ejecución del algoritmo de ML. Además, se extiende el uso de la elasticidad a contenedores con la implementación de un controlador/cliente que permita administrar los recursos computacionales asignados a los algoritmos de ML que ejecutan internamente. Por último, se implementa un planificador de contenedores elásticos con el fin de gestionar dinámicamente los recursos del sistema entre todos los contenedores activos y definir políticas de planificación que favorezcan el rendimiento global del sistema.
Magister en Cómputo de Altas Prestaciones
Universidad Nacional de La Plata
Facultad de Informática - Materia
-
Ciencias Informáticas
Aplicaciones Elásticas
Tensorflow
Contenedores
Docker
Planificación de contenedores - Nivel de accesibilidad
- acceso abierto
- Condiciones de uso
- http://creativecommons.org/licenses/by-nc-sa/4.0/
- Repositorio
- Institución
- Universidad Nacional de La Plata
- OAI Identificador
- oai:sedici.unlp.edu.ar:10915/153706
Ver los metadatos del registro completo
id |
SEDICI_f4d801c79b34d652f00a1e8e89b3d45b |
---|---|
oai_identifier_str |
oai:sedici.unlp.edu.ar:10915/153706 |
network_acronym_str |
SEDICI |
repository_id_str |
1329 |
network_name_str |
SEDICI (UNLP) |
spelling |
Coplanificación de procesos maleables de aprendizaje automático mediante contenedoresLibutti, Leandro ArielCiencias InformáticasAplicaciones ElásticasTensorflowContenedoresDockerPlanificación de contenedoresEn las últimas décadas, el avance de los algoritmos de Aprendizaje Automático (Machine Learning, ML) ha despertado el interés en la búsqueda de estrategias que logren acelerar los procesos de entrenamiento e inferencia típicos de este ámbito, especialmente cuando éstos surgen en servidores con un elevado grado de paralelismo, complejidad y heterogeneidad. Típicamente, estos procesos se realizan a través de entornos de trabajo (frameworks) de propósito específico tales como Tensoflow, Keras, Caffe o Pytorch. A día de hoy, Tensorflow es uno de los frameworks más utilizados por parte de los desarrolladores de algoritmos de ML. Desde el punto de vista de rendimiento computacional, existen entre sus parámetros de configuración diversas opciones de configuración relativas al grado de paralelismo, que pueden ser fijadas a priori, pero no pueden ser reconfiguradas durante el proceso de entrenamiento o inferencia, por lo que se consideran parámetros rígidos. En situaciones en las que múltiples instancias del framework se ejecutan en una misma máquina, dicha rigidez puede derivar en problemas tales como oversuscription, degradamiento del rendimiento del sistema y/o aplicación e infrautilización de los recursos computacionales. Por lo tanto, resulta importante agregar un grado de elasticidad en Tensorflow, permitiendo aumentar la productividad del sistema en entornos dinámicos multiprogramados. Por otro lado, la utilización de contenedores como método de virtualización ligera permite una mejor administración de los recursos y portabilidad. Existen múltiples planificadores que permiten aprovechar los beneficios de los contenedores, pero solo permiten llevar a cabo una asignación estática de recursos en el momento de su creación, y en algunos casos reasignación de recursos en tiempo de ejecución; en cualquier caso, las aplicaciones en ejecución dentro del contenedor no se encuentran preparadas para reaccionar ante dicho evento, y por tanto no se adaptarán en ningún caso a la modificación en los recursos asignados al contenedor. Por todo lo comentado anteriormente, este trabajo propone el diseño e implementación de un mecanismo completo de elasticidad en el uso de recursos computacionales en el framework Tensorflow, permitiendo la reasignación dinámica de núcleos de cómputo durante la ejecución del algoritmo de ML. Además, se extiende el uso de la elasticidad a contenedores con la implementación de un controlador/cliente que permita administrar los recursos computacionales asignados a los algoritmos de ML que ejecutan internamente. Por último, se implementa un planificador de contenedores elásticos con el fin de gestionar dinámicamente los recursos del sistema entre todos los contenedores activos y definir políticas de planificación que favorezcan el rendimiento global del sistema.Magister en Cómputo de Altas PrestacionesUniversidad Nacional de La PlataFacultad de InformáticaIgual, FranciscoDe Giusti, Laura Cristina2023-05-04info:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTesis de maestriahttp://purl.org/coar/resource_type/c_bdccinfo:ar-repo/semantics/tesisDeMaestriaapplication/pdfhttp://sedici.unlp.edu.ar/handle/10915/153706https://doi.org/10.35537/10915/153706spainfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-sa/4.0/Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)reponame:SEDICI (UNLP)instname:Universidad Nacional de La Platainstacron:UNLP2025-09-29T11:39:44Zoai:sedici.unlp.edu.ar:10915/153706Institucionalhttp://sedici.unlp.edu.ar/Universidad públicaNo correspondehttp://sedici.unlp.edu.ar/oai/snrdalira@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:13292025-09-29 11:39:44.965SEDICI (UNLP) - Universidad Nacional de La Platafalse |
dc.title.none.fl_str_mv |
Coplanificación de procesos maleables de aprendizaje automático mediante contenedores |
title |
Coplanificación de procesos maleables de aprendizaje automático mediante contenedores |
spellingShingle |
Coplanificación de procesos maleables de aprendizaje automático mediante contenedores Libutti, Leandro Ariel Ciencias Informáticas Aplicaciones Elásticas Tensorflow Contenedores Docker Planificación de contenedores |
title_short |
Coplanificación de procesos maleables de aprendizaje automático mediante contenedores |
title_full |
Coplanificación de procesos maleables de aprendizaje automático mediante contenedores |
title_fullStr |
Coplanificación de procesos maleables de aprendizaje automático mediante contenedores |
title_full_unstemmed |
Coplanificación de procesos maleables de aprendizaje automático mediante contenedores |
title_sort |
Coplanificación de procesos maleables de aprendizaje automático mediante contenedores |
dc.creator.none.fl_str_mv |
Libutti, Leandro Ariel |
author |
Libutti, Leandro Ariel |
author_facet |
Libutti, Leandro Ariel |
author_role |
author |
dc.contributor.none.fl_str_mv |
Igual, Francisco De Giusti, Laura Cristina |
dc.subject.none.fl_str_mv |
Ciencias Informáticas Aplicaciones Elásticas Tensorflow Contenedores Docker Planificación de contenedores |
topic |
Ciencias Informáticas Aplicaciones Elásticas Tensorflow Contenedores Docker Planificación de contenedores |
dc.description.none.fl_txt_mv |
En las últimas décadas, el avance de los algoritmos de Aprendizaje Automático (Machine Learning, ML) ha despertado el interés en la búsqueda de estrategias que logren acelerar los procesos de entrenamiento e inferencia típicos de este ámbito, especialmente cuando éstos surgen en servidores con un elevado grado de paralelismo, complejidad y heterogeneidad. Típicamente, estos procesos se realizan a través de entornos de trabajo (frameworks) de propósito específico tales como Tensoflow, Keras, Caffe o Pytorch. A día de hoy, Tensorflow es uno de los frameworks más utilizados por parte de los desarrolladores de algoritmos de ML. Desde el punto de vista de rendimiento computacional, existen entre sus parámetros de configuración diversas opciones de configuración relativas al grado de paralelismo, que pueden ser fijadas a priori, pero no pueden ser reconfiguradas durante el proceso de entrenamiento o inferencia, por lo que se consideran parámetros rígidos. En situaciones en las que múltiples instancias del framework se ejecutan en una misma máquina, dicha rigidez puede derivar en problemas tales como oversuscription, degradamiento del rendimiento del sistema y/o aplicación e infrautilización de los recursos computacionales. Por lo tanto, resulta importante agregar un grado de elasticidad en Tensorflow, permitiendo aumentar la productividad del sistema en entornos dinámicos multiprogramados. Por otro lado, la utilización de contenedores como método de virtualización ligera permite una mejor administración de los recursos y portabilidad. Existen múltiples planificadores que permiten aprovechar los beneficios de los contenedores, pero solo permiten llevar a cabo una asignación estática de recursos en el momento de su creación, y en algunos casos reasignación de recursos en tiempo de ejecución; en cualquier caso, las aplicaciones en ejecución dentro del contenedor no se encuentran preparadas para reaccionar ante dicho evento, y por tanto no se adaptarán en ningún caso a la modificación en los recursos asignados al contenedor. Por todo lo comentado anteriormente, este trabajo propone el diseño e implementación de un mecanismo completo de elasticidad en el uso de recursos computacionales en el framework Tensorflow, permitiendo la reasignación dinámica de núcleos de cómputo durante la ejecución del algoritmo de ML. Además, se extiende el uso de la elasticidad a contenedores con la implementación de un controlador/cliente que permita administrar los recursos computacionales asignados a los algoritmos de ML que ejecutan internamente. Por último, se implementa un planificador de contenedores elásticos con el fin de gestionar dinámicamente los recursos del sistema entre todos los contenedores activos y definir políticas de planificación que favorezcan el rendimiento global del sistema. Magister en Cómputo de Altas Prestaciones Universidad Nacional de La Plata Facultad de Informática |
description |
En las últimas décadas, el avance de los algoritmos de Aprendizaje Automático (Machine Learning, ML) ha despertado el interés en la búsqueda de estrategias que logren acelerar los procesos de entrenamiento e inferencia típicos de este ámbito, especialmente cuando éstos surgen en servidores con un elevado grado de paralelismo, complejidad y heterogeneidad. Típicamente, estos procesos se realizan a través de entornos de trabajo (frameworks) de propósito específico tales como Tensoflow, Keras, Caffe o Pytorch. A día de hoy, Tensorflow es uno de los frameworks más utilizados por parte de los desarrolladores de algoritmos de ML. Desde el punto de vista de rendimiento computacional, existen entre sus parámetros de configuración diversas opciones de configuración relativas al grado de paralelismo, que pueden ser fijadas a priori, pero no pueden ser reconfiguradas durante el proceso de entrenamiento o inferencia, por lo que se consideran parámetros rígidos. En situaciones en las que múltiples instancias del framework se ejecutan en una misma máquina, dicha rigidez puede derivar en problemas tales como oversuscription, degradamiento del rendimiento del sistema y/o aplicación e infrautilización de los recursos computacionales. Por lo tanto, resulta importante agregar un grado de elasticidad en Tensorflow, permitiendo aumentar la productividad del sistema en entornos dinámicos multiprogramados. Por otro lado, la utilización de contenedores como método de virtualización ligera permite una mejor administración de los recursos y portabilidad. Existen múltiples planificadores que permiten aprovechar los beneficios de los contenedores, pero solo permiten llevar a cabo una asignación estática de recursos en el momento de su creación, y en algunos casos reasignación de recursos en tiempo de ejecución; en cualquier caso, las aplicaciones en ejecución dentro del contenedor no se encuentran preparadas para reaccionar ante dicho evento, y por tanto no se adaptarán en ningún caso a la modificación en los recursos asignados al contenedor. Por todo lo comentado anteriormente, este trabajo propone el diseño e implementación de un mecanismo completo de elasticidad en el uso de recursos computacionales en el framework Tensorflow, permitiendo la reasignación dinámica de núcleos de cómputo durante la ejecución del algoritmo de ML. Además, se extiende el uso de la elasticidad a contenedores con la implementación de un controlador/cliente que permita administrar los recursos computacionales asignados a los algoritmos de ML que ejecutan internamente. Por último, se implementa un planificador de contenedores elásticos con el fin de gestionar dinámicamente los recursos del sistema entre todos los contenedores activos y definir políticas de planificación que favorezcan el rendimiento global del sistema. |
publishDate |
2023 |
dc.date.none.fl_str_mv |
2023-05-04 |
dc.type.none.fl_str_mv |
info:eu-repo/semantics/masterThesis info:eu-repo/semantics/acceptedVersion Tesis de maestria http://purl.org/coar/resource_type/c_bdcc info:ar-repo/semantics/tesisDeMaestria |
format |
masterThesis |
status_str |
acceptedVersion |
dc.identifier.none.fl_str_mv |
http://sedici.unlp.edu.ar/handle/10915/153706 https://doi.org/10.35537/10915/153706 |
url |
http://sedici.unlp.edu.ar/handle/10915/153706 https://doi.org/10.35537/10915/153706 |
dc.language.none.fl_str_mv |
spa |
language |
spa |
dc.rights.none.fl_str_mv |
info:eu-repo/semantics/openAccess http://creativecommons.org/licenses/by-nc-sa/4.0/ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) |
eu_rights_str_mv |
openAccess |
rights_invalid_str_mv |
http://creativecommons.org/licenses/by-nc-sa/4.0/ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:SEDICI (UNLP) instname:Universidad Nacional de La Plata instacron:UNLP |
reponame_str |
SEDICI (UNLP) |
collection |
SEDICI (UNLP) |
instname_str |
Universidad Nacional de La Plata |
instacron_str |
UNLP |
institution |
UNLP |
repository.name.fl_str_mv |
SEDICI (UNLP) - Universidad Nacional de La Plata |
repository.mail.fl_str_mv |
alira@sedici.unlp.edu.ar |
_version_ |
1844616271247704064 |
score |
13.070432 |