SlideShare a Scribd company logo
1 of 4
Download to read offline
Starfish: Soporte eficiente para aplicaciones de visión computacional
simultaneas
Motivaciones:
Buscar aligerar la carga del CPU de un computador, sea un ordenador o un dispositivo
móvil, debido que las librerías implementadas por las aplicaciones son redundantes, además
que estas consumen demasiados recursos con los procesos llevados a cabo. Una aplicación
que requiera el uso de la cámara realiza múltiples tareas, una seguida de otra, pero no son
llamadas una única vez ni por una sola aplicación, ocasionando una redundancia de código,
el cual se busca ser sustituido por Starfish de tal manera que cuando uno o más software
requiera de una librería en común puedan acceder a ella sin la necesidad de importarla por
separado, así se reutiliza la misma y se logra reducir el uso de procesos innecesarios.
Problema:
Existe una variedad de aplicaciones que funcionan en dispositivos móviles, de las cuales
algunas pueden consumir recursos a menor medida dependiendo a las tareas que se
desempeñen durante su uso, pero aquellas que son lo consumen en mayoría son las que
emplean el uso de una cámara, pasando un alto precio para las características del
dispositivo en el que son utilizadas, por lo tanto no se pueden usar simultáneamente y un
software que tenga como objetivo cubrir esta problemática sería lanzado por partes.
Las aplicaciones implementan librerías que permiten a las aplicaciones realizar diversas
acciones, pero ellas incluyen gran cantidad de código que no se utiliza, sin embargo los
mantiene activos, consumiendo recursos en el dispositivo, aunque sea utilizado el mismo
paquete de código en otra aplicación éste será empleado por ambas en distintos momentos,
realizando los mismos procesos por separado de manera individual a cada una, lo cual lleva
a un problema en cuanto a e procesamiento de datos.
Propuesta:
Aumentar el rendimiento de un ordenador mediante la reducción del consumo de recursos
por parte de las aplicaciones que crean múltiples procesos similares e incluso sean los
mismos por medio de un sistema que permita dividir dichas tareas en microprocesos
creando puntos de referencia compartidos para aquellos que son requeridos por múltiples
aplicaciones a la vez, y de ésta manera satisfacer las necesidades de todas ellas en un solo
proceso.
Agilizar el flujo de datos entre aplicaciones mediante el uso del caché mediante una sección
interna del mismo Starfish que obtenga los resultados solicitados por el primer programa
implicado, los almacene en la memoria temporal y los retorne a su solicitante, de esta
manera, se evitarán operaciones innecesarias.
Manejo de ejecución de procesos divididos llamándolos por separado y aquellos que se
ejecuten de manera automática sin ser necesarios pausarlos hasta que los argumentos de
entrada coincidan en una solicitud para volverlo a arrancar, agilizando el tráfico y
reduciendo el uso de la memoria. Se busca implementar la reutilización de argumentos por
medio de un control específico de datos, el cual se lleva a cabo cuando se hace una solicitud
a una librería, así sea posible almacenarlos por medio de memoria compartida y al no ser
modificados el software comprenderá que su estructura está intacta y podrá usarlo de nuevo
evitando realizar nuevamente el proceso de catalogación.
Producto:
El diseño de un sistema de ejecución de procesos divididos llamado Starfish, el cual
permite correr diversas aplicaciones que requieran la visión (cámara) con eficiencia del
sistema mejorada, reduciendo el gasto computacional de recursos, calentamiento del
procesador, gasto de memoria y uso de energía. Éste software permite a los desarrolladores
implementar su propia librería, la cual no es necesaria de comprender, tampoco requiere de
cambios en el código fuente volviéndola un software cerrado y las aplicaciones que lo
implementen mostrarán resultados en el rendimiento, aunque sea utilizado únicamente por
una.
Como parte del cuerpo de Starfish se maneja un controlador de procesos denominado the
Core, el cual es el principal responsable de ejecutar las solicitudes a las librerías que
manejen la visión, controlando los argumentos entrada de datos almacenándolos en una
cola de llamadas por medio de memoria caché esperando a encontrar coincidencias
solicitante-solicitado y regresar la información deseada, en caso de no hallar alguna y por
ser un software transparente regresará al algoritmo por defecto de la aplicación y ejecutará
las librerías ya incluidas, las cuales no son propias de Starfish. Se encarga de responder a
las llamadas y de rastrear las que sean idénticas, a las cuales da una misma respuesta.
Starfish y theCore comienzan a trabajar en el momento en el cual una librería es llamada,
tomando los argumentos solicitados, especificando una catalogación para los mismos y
almacenándolos en una memoria compartida listo para dar una respuesta a dicha solicitud,
la cual también es almacenada y catalogada, a esto se le denomina ArgTrack y se
implementa para la reutilización de procesos. Es suficientemente autónomo para reaccionar
a las distintas peticiones y liberar la memoria cuando es necesario o cuando se encuentran
argumentos almacenados que ya no son requeridos.
Por último, a la hora de ser requerido un frame (un frame es un elemento que divide las
pantallas en segmentos iguales y permite tener contenido distinto en ellas) por un
aplicación y éste ya está siendo utilizado en otra, pero está en un estado inactivo Starfish
tomará ese frame y automáticamente lo otorgará al solicitante, ocasionando que el tiempo
de espera sea reducido incluso puede llegar a ser nulo.
Beneficios:
Starfish permite el uso de múltiples aplicaciones que tengan como requisito una cámara,
como el reconocimiento facial y la memorización de objetos; todos ellos exigen demasiado
en cuanto a recurso mientras se usan en tiempo real, pero el software se encarga de reducir
los múltiples procesos que se llevan a cabo mediante una única librería propia que se adapta
a OpenCv en dispositivos Android con la versión 4.4 Kitka.
El uso del CPU baja notablemente hasta un 16% con el uso de una sola aplicación y puede
mantenerse en la misma capacidad con el uso simultáneo de hasta 10 aplicaciones,
agilizando las solicitudes de los frames en la pantalla, reduciendo el uso de memoria y el
tiempo requerido para llevar a cabo las tareas asignadas.
Recomendaciones:
Se evita modificar el contenido de las librerías de visión ya que aún pueden ser
implementadas, además Starfhish no cambia el suyo propio para mantener compatibilidad
con versiones anteriores, permitiendo ser un software escalable en cuanto a resultados. No
requiere de comprensión total por parte del desarrollador para poder implementarlo y si es
así el decide si especificar, cuando publique su aplicación, el uso que le dio dentro de ella o
no.

More Related Content

Similar to Resumen starfish

Similar to Resumen starfish (20)

Hilo de ejecución
Hilo de ejecuciónHilo de ejecución
Hilo de ejecución
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
 
sistemas operativos distribuidos2
sistemas operativos distribuidos2sistemas operativos distribuidos2
sistemas operativos distribuidos2
 
Monit optim iis6_2
Monit optim iis6_2Monit optim iis6_2
Monit optim iis6_2
 
Unidad 3 el administrador de memoria
Unidad 3 el administrador de memoriaUnidad 3 el administrador de memoria
Unidad 3 el administrador de memoria
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
sistemas_Operativos_Distribuidos
sistemas_Operativos_Distribuidossistemas_Operativos_Distribuidos
sistemas_Operativos_Distribuidos
 
Miguel angel rodriguez vanegas
Miguel angel rodriguez vanegasMiguel angel rodriguez vanegas
Miguel angel rodriguez vanegas
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual 1
Memoria virtual 1Memoria virtual 1
Memoria virtual 1
 
Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño II
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Trabajo de s.m. s.o.
Trabajo de s.m. s.o.Trabajo de s.m. s.o.
Trabajo de s.m. s.o.
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Que son los sistemas operativos
Que son los sistemas operativosQue son los sistemas operativos
Que son los sistemas operativos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 

Recently uploaded

UNIDAD III Esquemas de comunicacion pptx
UNIDAD III Esquemas de comunicacion pptxUNIDAD III Esquemas de comunicacion pptx
UNIDAD III Esquemas de comunicacion pptxElybe Hernandez
 
1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdf1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdfThe16Frame
 
Semana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptxSemana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptxJulio Lovon
 
ESPECIFICACIONES TECNICAS MURO DE CONTENCION.docx
ESPECIFICACIONES TECNICAS MURO DE CONTENCION.docxESPECIFICACIONES TECNICAS MURO DE CONTENCION.docx
ESPECIFICACIONES TECNICAS MURO DE CONTENCION.docxAnonymousk8JgrnuMSr
 
REAJUSTE DE PRECIOS EN LOS CONTRATOS ADMINISTRATIVOS DE OBRA PUBLICA PACTADOS...
REAJUSTE DE PRECIOS EN LOS CONTRATOS ADMINISTRATIVOS DE OBRA PUBLICA PACTADOS...REAJUSTE DE PRECIOS EN LOS CONTRATOS ADMINISTRATIVOS DE OBRA PUBLICA PACTADOS...
REAJUSTE DE PRECIOS EN LOS CONTRATOS ADMINISTRATIVOS DE OBRA PUBLICA PACTADOS...p39961945
 
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdfMirkaCBauer
 
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTSCONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTSrobinarielabellafern
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfWaldo Eber Melendez Garro
 
Inmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJH
Inmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJHInmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJH
Inmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJHVivafornai
 
DIAGRAMAS PID automatizacion y control.ppt
DIAGRAMAS PID automatizacion y control.pptDIAGRAMAS PID automatizacion y control.ppt
DIAGRAMAS PID automatizacion y control.pptalisonsarmiento4
 
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdfESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdfSegundo Silva Maguiña
 
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptxREGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptxJhonLeon59
 
DIFERENCIA DE COMPRESION Y TENSION EN UN CUERPO
DIFERENCIA DE COMPRESION Y TENSION EN UN CUERPODIFERENCIA DE COMPRESION Y TENSION EN UN CUERPO
DIFERENCIA DE COMPRESION Y TENSION EN UN CUERPOSegundo Silva Maguiña
 
Ficha Técnica -Cemento YURA Multiproposito TIPO IP.pdf
Ficha Técnica -Cemento YURA  Multiproposito TIPO IP.pdfFicha Técnica -Cemento YURA  Multiproposito TIPO IP.pdf
Ficha Técnica -Cemento YURA Multiproposito TIPO IP.pdfEdgard Ampuero Cayo
 
Diseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdfDiseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdfssuserf46a26
 
las humanidades y su impotancia en la formación integral del ingeniero
las humanidades y su impotancia en la formación integral del ingenierolas humanidades y su impotancia en la formación integral del ingeniero
las humanidades y su impotancia en la formación integral del ingenieroJsValdez
 
TYPP_Industrialización del Petróleo.pptx
TYPP_Industrialización del Petróleo.pptxTYPP_Industrialización del Petróleo.pptx
TYPP_Industrialización del Petróleo.pptxLilibethBallesteros1
 
Presentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdfPresentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdffernandolozano90
 
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdfPRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdfjorge477728
 

Recently uploaded (20)

Convocatoria de Becas Caja de Ingenieros_UOC 2024-25
Convocatoria de Becas Caja de Ingenieros_UOC 2024-25Convocatoria de Becas Caja de Ingenieros_UOC 2024-25
Convocatoria de Becas Caja de Ingenieros_UOC 2024-25
 
UNIDAD III Esquemas de comunicacion pptx
UNIDAD III Esquemas de comunicacion pptxUNIDAD III Esquemas de comunicacion pptx
UNIDAD III Esquemas de comunicacion pptx
 
1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdf1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdf
 
Semana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptxSemana 1 - Introduccion - Fluidos - Unidades.pptx
Semana 1 - Introduccion - Fluidos - Unidades.pptx
 
ESPECIFICACIONES TECNICAS MURO DE CONTENCION.docx
ESPECIFICACIONES TECNICAS MURO DE CONTENCION.docxESPECIFICACIONES TECNICAS MURO DE CONTENCION.docx
ESPECIFICACIONES TECNICAS MURO DE CONTENCION.docx
 
REAJUSTE DE PRECIOS EN LOS CONTRATOS ADMINISTRATIVOS DE OBRA PUBLICA PACTADOS...
REAJUSTE DE PRECIOS EN LOS CONTRATOS ADMINISTRATIVOS DE OBRA PUBLICA PACTADOS...REAJUSTE DE PRECIOS EN LOS CONTRATOS ADMINISTRATIVOS DE OBRA PUBLICA PACTADOS...
REAJUSTE DE PRECIOS EN LOS CONTRATOS ADMINISTRATIVOS DE OBRA PUBLICA PACTADOS...
 
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
 
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTSCONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
CONCEPTOS BASICOS DE ROBOTICA, CLASES DE ROBOTS
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
 
Inmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJH
Inmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJHInmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJH
Inmunología AMIR 14va EdiciónNM,NLKKJHKLJHKJLBHLKJH
 
DIAGRAMAS PID automatizacion y control.ppt
DIAGRAMAS PID automatizacion y control.pptDIAGRAMAS PID automatizacion y control.ppt
DIAGRAMAS PID automatizacion y control.ppt
 
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdfESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
ESFUERZO EN VIGAS SESIÓN 5 PROBLEMA RESUELTOS.pdf
 
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptxREGLA DE PROBABILIDADES  Y REGLA DE BAYES.pptx
REGLA DE PROBABILIDADES Y REGLA DE BAYES.pptx
 
DIFERENCIA DE COMPRESION Y TENSION EN UN CUERPO
DIFERENCIA DE COMPRESION Y TENSION EN UN CUERPODIFERENCIA DE COMPRESION Y TENSION EN UN CUERPO
DIFERENCIA DE COMPRESION Y TENSION EN UN CUERPO
 
Ficha Técnica -Cemento YURA Multiproposito TIPO IP.pdf
Ficha Técnica -Cemento YURA  Multiproposito TIPO IP.pdfFicha Técnica -Cemento YURA  Multiproposito TIPO IP.pdf
Ficha Técnica -Cemento YURA Multiproposito TIPO IP.pdf
 
Diseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdfDiseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdf
 
las humanidades y su impotancia en la formación integral del ingeniero
las humanidades y su impotancia en la formación integral del ingenierolas humanidades y su impotancia en la formación integral del ingeniero
las humanidades y su impotancia en la formación integral del ingeniero
 
TYPP_Industrialización del Petróleo.pptx
TYPP_Industrialización del Petróleo.pptxTYPP_Industrialización del Petróleo.pptx
TYPP_Industrialización del Petróleo.pptx
 
Presentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdfPresentación_ Marco general de las contrataciones públicas.pdf
Presentación_ Marco general de las contrataciones públicas.pdf
 
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdfPRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
PRACTICAS_DE_AUTOMATIZACION_industrial (1).pdf
 

Resumen starfish

  • 1. Starfish: Soporte eficiente para aplicaciones de visión computacional simultaneas Motivaciones: Buscar aligerar la carga del CPU de un computador, sea un ordenador o un dispositivo móvil, debido que las librerías implementadas por las aplicaciones son redundantes, además que estas consumen demasiados recursos con los procesos llevados a cabo. Una aplicación que requiera el uso de la cámara realiza múltiples tareas, una seguida de otra, pero no son llamadas una única vez ni por una sola aplicación, ocasionando una redundancia de código, el cual se busca ser sustituido por Starfish de tal manera que cuando uno o más software requiera de una librería en común puedan acceder a ella sin la necesidad de importarla por separado, así se reutiliza la misma y se logra reducir el uso de procesos innecesarios. Problema: Existe una variedad de aplicaciones que funcionan en dispositivos móviles, de las cuales algunas pueden consumir recursos a menor medida dependiendo a las tareas que se desempeñen durante su uso, pero aquellas que son lo consumen en mayoría son las que emplean el uso de una cámara, pasando un alto precio para las características del dispositivo en el que son utilizadas, por lo tanto no se pueden usar simultáneamente y un software que tenga como objetivo cubrir esta problemática sería lanzado por partes. Las aplicaciones implementan librerías que permiten a las aplicaciones realizar diversas acciones, pero ellas incluyen gran cantidad de código que no se utiliza, sin embargo los mantiene activos, consumiendo recursos en el dispositivo, aunque sea utilizado el mismo paquete de código en otra aplicación éste será empleado por ambas en distintos momentos, realizando los mismos procesos por separado de manera individual a cada una, lo cual lleva a un problema en cuanto a e procesamiento de datos. Propuesta: Aumentar el rendimiento de un ordenador mediante la reducción del consumo de recursos por parte de las aplicaciones que crean múltiples procesos similares e incluso sean los mismos por medio de un sistema que permita dividir dichas tareas en microprocesos
  • 2. creando puntos de referencia compartidos para aquellos que son requeridos por múltiples aplicaciones a la vez, y de ésta manera satisfacer las necesidades de todas ellas en un solo proceso. Agilizar el flujo de datos entre aplicaciones mediante el uso del caché mediante una sección interna del mismo Starfish que obtenga los resultados solicitados por el primer programa implicado, los almacene en la memoria temporal y los retorne a su solicitante, de esta manera, se evitarán operaciones innecesarias. Manejo de ejecución de procesos divididos llamándolos por separado y aquellos que se ejecuten de manera automática sin ser necesarios pausarlos hasta que los argumentos de entrada coincidan en una solicitud para volverlo a arrancar, agilizando el tráfico y reduciendo el uso de la memoria. Se busca implementar la reutilización de argumentos por medio de un control específico de datos, el cual se lleva a cabo cuando se hace una solicitud a una librería, así sea posible almacenarlos por medio de memoria compartida y al no ser modificados el software comprenderá que su estructura está intacta y podrá usarlo de nuevo evitando realizar nuevamente el proceso de catalogación. Producto: El diseño de un sistema de ejecución de procesos divididos llamado Starfish, el cual permite correr diversas aplicaciones que requieran la visión (cámara) con eficiencia del sistema mejorada, reduciendo el gasto computacional de recursos, calentamiento del procesador, gasto de memoria y uso de energía. Éste software permite a los desarrolladores implementar su propia librería, la cual no es necesaria de comprender, tampoco requiere de cambios en el código fuente volviéndola un software cerrado y las aplicaciones que lo implementen mostrarán resultados en el rendimiento, aunque sea utilizado únicamente por una. Como parte del cuerpo de Starfish se maneja un controlador de procesos denominado the Core, el cual es el principal responsable de ejecutar las solicitudes a las librerías que manejen la visión, controlando los argumentos entrada de datos almacenándolos en una cola de llamadas por medio de memoria caché esperando a encontrar coincidencias solicitante-solicitado y regresar la información deseada, en caso de no hallar alguna y por ser un software transparente regresará al algoritmo por defecto de la aplicación y ejecutará
  • 3. las librerías ya incluidas, las cuales no son propias de Starfish. Se encarga de responder a las llamadas y de rastrear las que sean idénticas, a las cuales da una misma respuesta. Starfish y theCore comienzan a trabajar en el momento en el cual una librería es llamada, tomando los argumentos solicitados, especificando una catalogación para los mismos y almacenándolos en una memoria compartida listo para dar una respuesta a dicha solicitud, la cual también es almacenada y catalogada, a esto se le denomina ArgTrack y se implementa para la reutilización de procesos. Es suficientemente autónomo para reaccionar a las distintas peticiones y liberar la memoria cuando es necesario o cuando se encuentran argumentos almacenados que ya no son requeridos. Por último, a la hora de ser requerido un frame (un frame es un elemento que divide las pantallas en segmentos iguales y permite tener contenido distinto en ellas) por un aplicación y éste ya está siendo utilizado en otra, pero está en un estado inactivo Starfish tomará ese frame y automáticamente lo otorgará al solicitante, ocasionando que el tiempo de espera sea reducido incluso puede llegar a ser nulo. Beneficios: Starfish permite el uso de múltiples aplicaciones que tengan como requisito una cámara, como el reconocimiento facial y la memorización de objetos; todos ellos exigen demasiado en cuanto a recurso mientras se usan en tiempo real, pero el software se encarga de reducir los múltiples procesos que se llevan a cabo mediante una única librería propia que se adapta a OpenCv en dispositivos Android con la versión 4.4 Kitka. El uso del CPU baja notablemente hasta un 16% con el uso de una sola aplicación y puede mantenerse en la misma capacidad con el uso simultáneo de hasta 10 aplicaciones, agilizando las solicitudes de los frames en la pantalla, reduciendo el uso de memoria y el tiempo requerido para llevar a cabo las tareas asignadas. Recomendaciones: Se evita modificar el contenido de las librerías de visión ya que aún pueden ser implementadas, además Starfhish no cambia el suyo propio para mantener compatibilidad con versiones anteriores, permitiendo ser un software escalable en cuanto a resultados. No requiere de comprensión total por parte del desarrollador para poder implementarlo y si es
  • 4. así el decide si especificar, cuando publique su aplicación, el uso que le dio dentro de ella o no.