scieee Open visual document viewer

Creación de múltiples instancias lógicas de GPU sobre una única GPU física

Cámara Miró, Julián

Abstract

El presente trabajo desarrolla una evaluación experimental de las tecnologías que actualmente permiten compartir un procesador gráfico (GPU) entre distintos procesos. Específicamente, el trabajo profundiza en el estudio de la tecnología Nvidia MIG, introducida con la generación Ampere de procesadores gráficos de Nvidia para, a través de la evaluación de cargas de trabajo con distintas características ejecutadas concurrentemente, evaluar los beneficios que dicha tecnología presenta para reducir la contención en el acceso a recursos compartidos. Los resultados obtenidos revelan que MIG es, actualmente, la única tecnología que permite aislar instancias virtuales dentro de una GPU física, permitiendo la compartición de recursos sin interferencias, y a la vez aumentando la estabilidad en los resultados obtenidos, independientemente de la naturaleza de las cargas de trabajo evaluadas.

Full text

C eación de múl iples ins ancias lógicas de GPU sob e una única GPU ísica C ea ing mul iple i ual GPU ins ances o e one physical GPU T abajo de Fin de G ado Cu so 2022–2023 Au o Julián Cáma a Mi ó Di ec o es F ancisco D. Igual Peña Luis M. Cos e o Vale o G ado en Ingenie ía In o má ica Facul ad de In o má ica Uni e sidad Complu ense de Mad id C eación de múl iples ins ancias lógicas de GPU sob e una única GPU ísica C ea ing mul iple i ual GPU ins ances o e one physical GPU T abajo de Fin de G ado en Ingenie ía In o má ica Au o Julián Cáma a Mi ó Di ec o F ancisco D. Igual Peña Luis M. Cos e o Vale o Con oca o ia: Junio 2023 G ado en Ingenie ía In o má ica Facul ad de In o má ica Uni e sidad Complu ense de Mad id Junio de 2023 Resumen C eación de múl iples ins ancias lógicas de GPU so- b e una única GPU ísica El p esen e abajo desa olla una e aluación expe imen al de las ecnologías que ac ualmen e pe mi en compa i un p ocesado g á ico (GPU) en e dis in os p ocesos. Especí icamen e, el abajo p o undiza en el es udio de la ecnología N idia MIG, in oducida con la gene ación Ampe e de p ocesado es g á icos de N idia pa a, a a és de la e aluación de ca gas de abajo con dis in as ca ac e ís icas ejecu adas concu en emen e, e alua los bene icios que dicha ecnología p esen a pa a educi la con ención en el acceso a ecu sos compa idos. Los esul ados ob enidos e elan que MIG es, ac ualmen e, la única ecnología que pe mi e aisla ins ancias i uales den o de una GPU ísica, pe mi iendo la compa ición de ecu sos sin in e e encias, y a la ez aumen ando la es abilidad en los esul ados ob enidos, independien emen e de la na u aleza de las ca gas de abajo e aluadas. Palab as cla e GPU, MIG, N idia, MPS, Cloud Compu ing, endimien o, ges ión de ecu sos. Abs ac C ea ing mul iple i ual GPU ins ances o e one physical GPU This p ojec de elops an expe imen al e alua ion o he echnologies ha cu - en ly allow he sha ing o a g aphics p ocesso (GPU) be ween di e en p ocesses. Speci ically, he p ojec ocuses on he s udy o N idia MIG echnology, in o- duced wi h he Ampe e gene a ion o N idia g aphics p ocesso s. The pe o med expe imen s aim o e alua e he imp o emen s o he con en ion in he access o sha ed esou ces, ob ainable by MIG, h ough he e alua ion o wo kloads wi h di - e en cha ac e is ics execu ed concu en ly. The ob ained esul s e eal ha MIG is cu en ly he only echnology ha al- lows o ha e comple ely isola ed i ual ins ances o e one physical GPU, allowing esou ce sha ing wi hou in e e ence, and inc easing he s abili y o he ob ained esul s, ega dless o he cha ac e is ics o he wo kloads being e alua ed. Keywo ds GPU, MIG, N idia, MPS, Cloud Compu ing, pe o mance, esou ce sha ing. ii Índice 1. In oducción 1 1.1. In oducción................................ 1 1.2. Obje i os ................................. 2 1.3. Es uc u a del documen o . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Ma co eó ico 5 2.1. A qui ec u a de las GPUs . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2. Modelo de p og amación CUDA . . . . . . . . . . . . . . . . . . . . . 7 2.3. Compa ición de GPU en e p ocesos . . . . . . . . . . . . . . . . . . 8 2.3.1. N idiaMPS............................ 8 2.3.2. N idiaMIG............................ 10 3. Me odología 13 3.1. Obje i os ................................. 13 3.2. Ca gasde abajo............................. 14 3.3. Diseño de los expe imen os . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3.1. Ejecuciones aisladas . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.2. Ejecuciones combinadas . . . . . . . . . . . . . . . . . . . . . 19 3.3.3. Combinación de ejecuciones, usando MPS . . . . . . . . . . . 20 3.3.4. Combinación de ejecuciones, usando MIG . . . . . . . . . . . 20 4. Resul ados expe imen ales 23 4.1. Desc ipción de la a qui ec u a obje i o . . . . . . . . . . . . . . . . . 23 4.2. Me odología expe imen al . . . . . . . . . . . . . . . . . . . . . . . . 24 4.3. Ejecucionesaisladas............................ 25 4.3.1. GEMM .............................. 25 4.3.2. GEMV............................... 26 4.3.3. Conclusiones ........................... 27 4.4. Ejecución concu en e . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.4.1. GPU en e a (4g.24gb) . . . . . . . . . . . . . . . . . . . . . . 29 4.4.2. Un medio de la GPU (2g.12gb) . . . . . . . . . . . . . . . . . 30 4.4.3. Conclusiones ........................... 30 ix 2Capí ulo 1. In oducción es a egias que mejo en su po cen aje de u ilización, posiblemen e o eciéndolo de o ma compa ida a los usua ios. 4. In e e encia en e aplicaciones: Es muy común que los usua ios deseen se capaces de p edeci el iempo de ejecución de sus aplicaciones de modo que sea lo más de e minis a posible; en es e sen ido, en en o nos de ejecución com- pa idos donde múl iples aplicaciones del p opio o de múl iples usua ios hacen un uso compa ido de los ecu sos, educi la in e e encia en e aplicaciones aislando ecu sos asignados a cada una es una ca ac e ís ica deseable. Uno de los ecu sos de cómpu o más ampliamen e u ilizados en los se icios de compu ación en la nube son los p ocesado es g á icos (GPUs). Du an e las úl imas dos décadas, la po encia de cómpu o y el g ado de pa alelismo que una GPU de gama al a puede o ece ha c ecido has a esul a indispensables pa a ob ene en- dimien o en odo ipo de aplicaciones de p opósi o gene al. De hecho, a día de hoy es a capacidad de cómpu o pa alelo es an ele ada que muchas aplicaciones no son capaces de ap o echa odos los ecu sos de cómpu o (núcleos de compu ación o an- cho de banda a memo ia) que o ecen las GPUs de úl ima gene ación. En espues a a es o, una posibilidad adica en o ece los ecu sos de una o múl iples GPUs de modo compa ido, siendo accesibles concu en emen e po pa e de múl iples usua- ios. Es a es a egia aumen a el g ado de u ilización de la(s) GPU(s), pe o conlle a p oblemas de con ención en el acceso a ecu sos compa idos, dependiendo de la na u aleza de las aplicaciones ejecu adas concu en emen e. Su ge en onces un nue o p oblema: sin sopo e so wa e/ha dwa e po pa e de los ab ican es, no exis e una solución sencilla pa a o ece la GPU como un ecu so de cómpu o compa ido ( educiendo así los cos es de man enimien o y adquisición y aumen ando su u ilización e ec i a), e i ando la in e e encia en e aplicaciones concu en es. Pa a esol e es e p oblema, N idia ha desa ollado la ecnología MIG (Mul i Ins ance GPU)1, la cual pe mi e di idi una GPU en a ias ins ancias comple a- men e aisladas, cada una con sus p opios ecu sos. De es a o ma, los p og amas se ejecu an en pa alelo en ins ancias sepa adas, lo que pe mi e a los p o eedo es o ece a sus clien es un endimien o p edecible, que no se ea in luenciado nega i amen e po los abajos que puedan solici a o os usua ios. Las ins ancias i uales gene- adas no ienen po qué ene el mismo amaño, sino que se puede di idi la GPU de o ma asimé ica pa a sopo a mejo ca gas de abajo de dis in o amaño y/o na u aleza. 1.2. Obje i os El obje i o de es e abajo es es udia y e alua el uncionamien o de la ecnología MIG sob e GPUs de úl ima gene ación, y compa a su compo amien o y e iciencia con espec o a o as me odologías y ecnologías disponibles pa a compa i GPUs en e aplicaciones o usua ios. Pa a ello se analiza án las dis in as con igu aciones 1Es a ecnología sólo es compa ible con algunas de las GPUs pa a da acen e s de a qui ec u a Ampe e y pos e io es. 1.3. Es uc u a del documen o 3 que exis en pa a la GPU con la que se abaja á (N idia A30) en e a ca gas de abajo de dis in a na u aleza, analizando an o el endimien o máximo ob enido como las po enciales in e e encias en e ellas. Conc e amen e, es e obje i o gene al se di ide en un conjun o de obje i os es- pecí icos, que pueden esumi se como: 1. Es udia el compo amien o de aplicaciones de dis in as na u aleza, y como depende el endimien o de cada una de los di e en es ecu sos disponibles en la GPU. 2. Analiza como se epa en los ecu sos de la GPU en e las aplicaciones an e- io men e mencionadas, si se ejecu an de o ma simul ánea den o de la misma GPU, y las pé didas de endimien o que esul en de dicha compa ición. 3. Analiza de o ma indi idual a ias ecnologías que exis en pa a mejo a la con i encia en e aplicaciones den o de la GPU. 4. Compa a dichas ecnologías en e sí, analizando las en ajas e incon enien es que o ece cada una, y de e mina en qué si uaciones es p e e ible usa cada una. 1.3. Es uc u a del documen o P ime o, en el capí ulo 2 se mencionan algunos concep os eó icos undamen ales pa a es e abajo. Conc e amen e se habla á sob e la a qui ec u a de las GPUs, el modelo de p og amación CUDA, los p oblemas que su gen de la compa ición e una GPU en e a ios p ocesos y las ecnologías MIG y MPS. Pos e io men e, en el Capí ulo 3 se explica la me odología seguida du an e oda la ase expe imen al. Se de alla án las ca gas de abajo escogidas, me odología y ases expe imen ales. A con inuación, en el Capí ulo 4 se analiza an los esul ados ob enidos du an e la ase expe imen al. P ime o se in oduci á la a qui ec u a obje i o, en la que se lle a on a cabo odos los expe imen os. A con inuación, se da án de alles sob e la me odología usada pa a lanza los expe imen os y se analiza án en p o undidad los esul ados ob enidos en cada una de las ases expe imen ales. Pa a conclui el capí ulo, se incluye una sección inal de conclusiones expe imen ales, en la que se analiza án de o ma conjun a las conclusiones de odas las ases. Po úl imo, el Capí ulo 5 se lis an las conclusiones gene ales obse adas as la conclusión del abajo, así como posibles líneas de es udio que quedan pendien es pa a el u u o. Cap´ ı ulo 2 Ma co eó ico En es e capí ulo se ealiza una b e e desc ipción de los aspec os eó icos sob e las GPUs de N idia más ele an es pa a el abajo desa ollado. 2.1. A qui ec u a de las GPUs An es de 2006, las GPUs p esen aban una a qui ec u a es uc u ada en capas, cada una da las cuales co espondía a una de las e apas del pipeline de ende izado g á ico. Es o, además de se poco lexible, gene aba p oblemas si se p oduce un cuello de bo ella en alguna de las capas ya que, como ealizaban unciones dis in as, no se podía usa las o as capas pa a compensa . Además, impedía (o di icul aba) el uso de las GPUs pa a ealiza ope aciones ue a del ámbi o del ende izado g á ico, limi ando su lexibilidad pese al po encial de cómpu o pa alelo que p esen aban. Fue en 2006, con la a qui ec u a Tesla, cuando N idia cambió de o ma adical la a qui ec u a de sus GPUs. Desapa ece la di isión en capas mencionada an e io men- e, y su ge po p ime a ez el concep o de S eaming Mul ip ocesso (SM). Debido a la g an lexibilidad que o ece, es e nue o pa adigma ha ido ganando popula idad y se ha ido mejo ando y ex endiendo has a la ac ualidad, de al o ma que aho a las GPUs se u ilizan pa a muchas o as aplicaciones, además de g á icos, que puedan bene icia se del eno me ni el de pa alelismo que o ecen. En la ac ualidad, los núcleos de ejecución (co es) pasan de ene una unción ija a se de p opósi o gene al, comple amen e p og amables usando el modelo de p og amación CUDA. Es os co es se ag upan en los denominados SMs. Además, cada SM cuen a con o os ecu sos p opios, como egis os a qui ec ónicos, co es de p opósi o más especializado (po ejemplo, los núcleos enso iales (Tenso Co es) que apa ecen desde la a qui ec u a Vol a), caché o plani icado es, en e o os. A ni el so wa e, los p og amas lanzados se di iden en bloques de hilos, que a su ez se di iden en agmen os de 32 hilos (16 en a qui ec u as an e io es) deno- 5 6Capí ulo 2. Ma co eó ico Figu a 2.1: Esquema del SM de la a qui ec u a Ampe e. Fuen e: [4] minados wa ps. Los bloques de dis ibui án en e los SMs disponibles, de o ma que odos los wa ps de un mismo bloque es én en el mismo SM. Al conjun o de odos los bloques elacionados con la misma a ea se le llama g id. Cada SM dispone de uno o más wa p schedule s, dependiendo de la a qui ec u a (po ejemplo, Ampe e iene 4). Cada schedule selecciona á en cada ciclo un wa p dis in o, de o ma que cada uno de los hilos que o man el wa p ejecu e una de sus ins ucciones. Como odos los hilos de un mismo wa p compa en el mismo con ado de p og ama, en caso de que alguno de ellos no u ie a que ejecu a esa ins ucción se inhibi á las acciones que desencadene la ejecución de dicha ins ucción. Cada wa p schedule iene ambién asociada una memo ia cache que pueden usa sus hilos. Cada SM dispone de un g an núme o de egis os, que epa i á en e odos los hilos de los wa ps que enga asociados. Además, odos los SMs disponen ambién de una memo ia compa ida de baja la encia, que pueden usa odos los hilos de un mismo bloque pa a comunica se en e sí sin ene que accede a la memo ia p incipal, aumen ando así de o ma d áma ica el endimien o del p og ama pa alelo. Po o o lado, la GPU dispone de una memo ia global a la que ienen acceso odos los SMs, cuyo ancho de banda se epa e en e odos los SMs que la usen al mismo 2.2. Modelo de p og amación CUDA 7 iempo. Es a memo ia es la que se u iliza ambién pa a ealiza las ans e encias de da os en e la GPU y la memo ia p incipal de la CPU. Aunque las ecnologías de memo ia u ilizadas en GPUs de úl ima gene ación (DDR5 o HBM) exhiben un ancho de banda excelen e, su uso oda ía alen iza la ejecución del p og ama pa alelo, debido p incipalemn e a la can idad de hilos/núcleos de ejecución disponibles. 2.2. Modelo de p og amación CUDA Pa a pode p og ama de o ma sencilla es a nue a a qui ec u a de GPU mul i- p opósi o, N idia desa olló ambién CUDA. Se a a de un nue o modelo y en o no de p og amación que pe mi e explo a las en ajas que o ecen las nue as GPU cam- biando adicalmen e el modelo de p og amación habi ual. N idia CUDA oolki es un paque e que o ece nume osas he amien as pa a desa olla so wa e pa a es as GPUs. Po ejemplo, se incluye lib e ías de álgeb a y ap endizaje au omá ico, un compilado pa a CUDA C++ (n cc) o he amien as pa a depu ación y pe ilado, en e o as ca ac e ís icas. Figu a 2.2: Visualización de ke nel pa a mul iplicación de ma ices. [6] CUDA C++ es una ex ensión de C++, que pe mi e comunica se y des- ca ga abajo en cualquie o disposi i o compa ible con CUDA que se encuen- e disponible. Pa a ello, pe mi e de ini unciones especiales, denominadas ke - nels, que se ejecu an de o ma pa alela en la GPU. Al in oca un ke nel, el p o- g amado especi ica el núme o ins an- cias del ke nel que se ejecu a án en pa a- lelo con igu ando el núme o de bloques y el núme o de hilos po bloque que se ge- ne a án, no malmen e dependiendo del amaño de los da os con los que se aya a ope a . A cada hilo se le asigna á un conjun o de a iables locales ( h eadId yblockId), que el p og amado pod á usa cuando p og ame el ke nel pa a di- e encia los da os con los que ope e ca- da uno. Pa a acili a la implemen ación de ope aciones más complejas, se pe mi- e ambién ealiza una di isión mul idi- mensional del p oblema. En la igu a 2.2 se ep esen a de o ma isual la di isión en bloques que esul a ía de un ke nel mul- idimensional. También se o ecen unciones pa a comunica y ans e i da os en e la memo ia de la CPU y la de la GPU. 8Capí ulo 2. Ma co eó ico Figu a 2.3: Dis ibución de hilos den o de la GPU. Fuen e: [6] El p og amado no necesi a conoce el ha dwa e en el que se ejecu a á su código ni adap a lo pa a que pueda lanza se en a ios modelos de GPUs, ya que oda la dis ibución de los hilos del ke nel se ealiza dinámicamen e, en iempo de ejecución. Cuando un p oceso lanza un ke nel, los bloques esul an es se epa en en e odos los SMs disponibles en la GPU, pe mi iendo que pueda usa se el mismo p og ama an o en GPUs más sencillas como en o as de al o endimien o, con muchos más SMs. 2.3. Compa ición de GPU en e p ocesos Cuando solo hay un único p oceso den o de la GPU, odos sus bloques se pueden asigna a cualquie SM, y los wa p schedule s se enca ga án de i al e nando en e los hilos de los di e en es bloques. Sin emba go, cuando exis en a ios p ocesos usando la GPU de o ma simul ánea, la epa ición de los ecu sos no es an sencilla. Cada p oceso ese a de o ma sepa ada sus p opios ecu sos de almacenamien o y plani icación, lo que supone una mayo ocupación de memo ia y que cada SM enga que ealiza un cambio de con ex o cada ez que ejecu a un wa p de un p oceso dis in o, p o ocando una posible pé dida de endimien o. Si un p oceso no gene a su icien e ca ga de abajo como pa a llena la GPU comple a, la mayo ía de los ecu sos de la GPU queda án desap o echados. Po eso, me ece la pena explo a dis in as ecnologías que nos pe mi an esol e el p oblema p esen ado en el pá a o an e io , y pode así lanza a ios p ocesos en la GPU de la o ma más e ec i a posible. 2.3.1. N idia MPS N idia Mul i-P ocess-Se ice (MPS) es una al e a i a a la API adicional de 2.3. Compa ición de GPU en e p ocesos 9 Figu a 2.4: Esquema del uncionamien o de MPS Fuen e: [5] CUDA, que pe mi e mejo a el endimien o ob enido cuando se ejecu an ke nels de a ios p ocesos (clien es) den o de la misma GPU. Es á o mado po los siguien es es componen es: 1. Demonio de con ol: enca gado de encende y e mina el se ido , así como coo dina las conexiones en e los clien es y el se ido . 2. Run ime pa a clien es: in eg ado en la lib e ía de d i e s de CUDA, se enca ga de coo dina los bloques de los dis in os p ocesos den o de la GPU. 3. Se ido : ía de comunicación con la GPU que compa en los dis in os clien- es. Pa a soluciona los p oblemas mencionados al inal de la sección an e io el se i- do ese a sus p opios ecu sos de almacenamien o y plani icación, los cuales se án compa idos po odos los clien es que le solici en un abajo. Eso pe mi e esol e los p oblemas de i ados de la compa ición de la GPU en e múl iples p ocesos, de o ma que ke nels de dis in os p ocesos puedan ejecu a se de o ma concu en e. Como se comen ó an e io men e, es o solo apo a un bene icio en el endimien o o al si es os ke nels no ocupan po comple o la GPU, ya que a a pe mi i que los ecu sos que queden lib es du an e la ejecución de un ke nel puedan se ap o echado po o o. Aunque queda ue a del alcance de es e abajo, MPS p opo ciona medidas de segu idad elacionadas con la p o ección de memo ia y aislamien o de e o es. Las 10 Capí ulo 2. Ma co eó ico Figu a 2.5: De ice “1c.4g.20gb” sob e N idia A100. Fuen e: [7] GPUs de la gene ación Vol a y pos e io es cuen an con unciones y p o ecciones más so is icadas ( éase [5] pa a más in o mación). 2.3.2. N idia MIG MIG es una nue a ecnología de N idia, compa ible con GPUs pa a cen os de da os de gene ación Ampe e y pos e io [7], que pe mi e di idi una GPU en has a sie e ins ancias aisladas en e sí (en el caso de la GPU Ampe e A100, cua o en el caso de la A30), de o ma que cada una de ellas cuen e con una acción de los ecu sos de la GPU. Conc e amen e, MIG puede di idi ecu sos de cómpu o, como SMs o decodi icado es, así como bancos de cache, con olado es y buses de memo ia. En la igu a 2.6 se mues a un esquema isual de es a ecnología. De es e modo, los p ocesos de los dis in os usua ios del sis ema pueden lanza abajos a cualquie a de las ins ancias p esen es, las cuales apa ecen como una GPU cualquie a. La ecnología gi a en o no a los denominados “slices”, que pueden se de memo ia o de SMs. Es os slices ep esen an la acción más pequeña en la que se puede di idi la memo ia o los SMs de la GPU, espec i amen e. Una pa ición (denominada “GPU ins ance” o GI) se o ma combinando un conjun o de los slices de SMs con o o de los de memo ia. Además, opcionalmen e cada GI se puede subdi idi a su ez en a ias “Compu e Ins ances” (CI), cada una de de las cuales cuen a con sus p opios ecu sos de cómpu o (SMs), pe o compa e el es o de ecu sos del GI pad e. Po de ec o, cada GI iene una única CI, que cuen a con odos los SMs de la GI a la que pe enece. Finalmen e, un MIG de ice es á o mado po una única GPU ins ance y una o más Compu e Ins ances. Pa a e e i se al amaño de una pa ición se usa una nomencla u a en conc e o. Po ejemplo, en el caso de la N idia A100, el nomb e de una GPU de ice que ocupe el amaño comple o de la GPU se denomina “7g.40gb”. En caso de que el pa ición es é o mada po a ias CIs, el núme o de slices se indica al p incipio del nomb e. La igu a 2.5 mues a un ejemplo isual de una pa ición “1c.4g.20gb” sob e la N idia A100. Toda la c eación y manipulación se puede ealiza u ilizando la he amien a 2.3. Compa ición de GPU en e p ocesos 11 n idia-smi, una he amien a pa a la línea de comandos que se incluye con el p o- pio d i e de la GPU. Sin emga go, pa a acili a el abajo, se ha u ilizado la he- amien a n idia-mig-pa ed [1], que pe mi e gua da múl iples con igu aciones MIG en un iche o YAML y aplica las pos e io men e de o ma sencilla, aunque las mismas con igu aciones pod ían aplica se ambién u ilizando la he amien a n idia smi. Figu a 2.6: Compa ición de GPU en e a ios p ocesos sin u iliza la ecnología MIG (a iba) y u ilizando la ecnología MIG (abajo). 18 Capí ulo 3. Me odología # Función que p ocesa la salida de los es s de magma, # y de uel e una lis a de pun os pa a dibuja las g á icas. de ge _pun os( esul : s )-> lis [ uple[in , loa ]]: esul = esul .spli (" n") # Qui a pa en esis. lines: lis [s ]=[line. eplace("(",""). eplace(")","") o line in esul ] # Di idi en columnas. lines =[[x o xin line.spli (" ")i x!= ""] o line in lines] # Saca indices de las columnas que nos in e esan. ind_ i ulos =[x[0] o xin enume a e( esul ) i x[1].s a swi h("%")][-2] nomb es_columnas =[x o xin lines[ind_ i ulos] i x!= "G lop/s"][1:] ind_N =nomb es_columnas.index('N') ind_CUBLAS =nomb es_columnas.index('cuBLAS') # Qui a lineas que empiezan po %. lines: lis [s ]=[line o line in lines i len(line) >1and line[0]!= '%'] pun os =[(k, mean([ loa (cols[ind_CUBLAS]) o cols in lis (g)])) o k,gin g oupby(lines, lambda l: in (l[ind_N]))] e u n pun os # Pun o de en ada al sc ip . i __name__ == "__main__": mig_con igs =sys.a g [1].spli (",") comandos =(" ".join(sys.a g [2:])).spli (",") i len(comandos) ==1and len(mig_con igs) == 1: # 1 es en 1 con igu acion de n de ices. g a ica_una_con igu acion(mig_con igs[0], comandos[0]) eli len(comandos) ==1and len(mig_con igs) > 1: # 1 es en a ias con igu aciones de un solo de ice. g a ica_ a ias_con igu aciones(mig_con igs, comandos[0]) eli len(comandos) >1and len(mig_con igs) == 1: # n es s dis in os en 1 con igu acion de n de ices. g a ica_una_con igu acion_ a ios_comandos(mig_con igs[0], comandos) else: p in ("Núme o de es s y con igu aciones incompa ible.") Lis ing 5: Sc ip de lanzamien o, pa e 3. 3.3. Diseño de los expe imen os 19 3.3.1. Ejecuciones aisladas En es a ase, se a a es udia el compo amien o de las ope aciones gemm y gem en las dis in as posibles pa iciones que sopo a la N idia A30. Con ello, se p e ende de e mina cuál es el endimien o de ambas ope aciones cuando se ejecu an de o ma aislada, dependiendo del núme o de ecu sos que dispongan. Se an a u iliza pa iciones que a íen el núme o de SMs y el ancho de banda asignada a cada una, con el obje i o de e qué ecu sos a ec an más a cada ipo de ope ación. Con igu ación SMs Memo ia 4g.24gb 100 % 100 % 2c.4g.24gb 50 % 100 % 2g.12gb 50 % 50 % 1c.4g.24gb 25 % 100 % 1c.2g.12gb 25 % 50 % 1g.6gb 25 % 25 % Tabla 3.1: Di e en es con igu aciones sopo adas po N idia GPU A30 y su denomi- nación. La in o mación que se ex aiga de es a ase se á de g an u ilidad en ases pos e io- es, ya que nos se i á pa a compa a y pode de ec a u u as caídas de endimien o debido a in e e encias. 3.3.2. Ejecuciones combinadas En la segunda ase, se an a lanza , den o de una misma pa ición, di e en es combinaciones de aplicaciones de o ma simul ánea. Con ello se p e ende obse a como in e ie en en e si aplicaciones concu en es den o de una GPU, sin que haya ningún ipo de medida pa a coo dina las. Se lanza án los siguien es expe imen os: Con igu ación Lanzamien os 4g.24gb 4×Gemm 4×Gem 2×Gemm +2×Gem 2g.12gb 2×Gemm 2×Gem Gemm +Gem Tabla 3.2: Con igu aciones expe imen ales pa a el es udio de ejecuciones combina- das. 20 Capí ulo 3. Me odología Los esul ados que se ob engan en es a ase pod án se compa ados con los de la ase an e io pa a de ec a las in e e encias que se p oduzcan, así como usa se en ases pos e io es pa a obse a cómo in luye el uso de las ecnologías MIG y MPS. 3.3.3. Combinación de ejecuciones, usando MPS En es a sección se a a explo a la ecnología MPS, y e como in luye en el endimien o de aplicaciones simul áneas. Pa a ello se an a lanza a ias combina- ciones de ejecuciones sob e una misma pa ición, especi icando en el comando de lanzamien o el di ec o io de la PIPE que usa á el p oceso pa a comunica se con el MPS se e . Conc e amen e, las p uebas que se lanza án son las siguien es: Con igu ación Lanzamien os 4g.24gb 4×Gemm 4×Gem 2×Gemm +2×Gem 2g.12gb 2×Gemm 2×Gem Gemm +Gem Tabla 3.3: Con igu aciones expe imen ales pa a el es udio de la ecnología MPS. Al ob ene los esul ados, es os se con as a án con los de e apas an e io es pa a e la mejo a en el endimien o que se puede consegui usando es a ecnología. 3.3.4. Combinación de ejecuciones, usando MIG En es a e apa se a a analiza el aislamien o que p opo ciona MIG pa a apli- caciones que se ejecu en simul áneamen e en pa iciones dis in as. Al con a io que en ases an e io es, es a ez se an a gene a más de una pa ición en cada expe i- men o, de o ma que cada una de las aplicaciones lanzadas a a ejecu a se en una pa ición dis in a. Las con igu aciones y es s que se usa án son los que apa ecen a con inuación: 3.3. Diseño de los expe imen os 21 Con igu ación Lanzamien os 4x1g.6gb 4×Gemm 4×Gem 2×Gemm +2×Gem 2x2g.12gb 2×Gemm 2×Gem Gemm +Gem 2x1g.6gb 2×Gemm 2×Gem Gemm +Gem Tabla 3.4: Con igu aciones expe imen ales pa a el es udio de la ecnología MIG. Cap´ ı ulo 4 Resul ados expe imen ales 4.1. Desc ipción de la a qui ec u a obje i o Todos los expe imen os de es e abajo se lle a on a cabo en ocejon, se ido de al as p es aciones del depa amen o DACYA cedido en exclusi a pa a desa o- lla es e abajo. Se de allan a con inuación algunas de sus especi icaciones más ele an es: P ocesado In el Xeon Sil e 4314 con 16 núcleos, uncionando a una ecuencia base de 2.4 GHz. GPU N idia A30, con un o al de 24 GB de memo ia HBM2e y 3584 CUDA co es y 224 Tenso Co es, epa idos en e 56 SMs. Las ecuencias de los SMs y la memo ia son 1110 MHz y 1215 MHz, espec i amen e. 64GB de memo ia RAM DDR4. CUDA oolki 12.0, con la e sión del d i e 525.85.12 o icial de N idia. Du an e los p ime os expe imen os ealizados, se obse ó como el endimien o de la A30 caía de o ma inespe ada cuando la ca ga de abajo se encon aba ce ca de su máximo eó ico. Un ejemplo de es e enómeno se encuen a en la la igu a 4.1, donde se puede obse a como el endimien o, en luga de queda se es able, decae de o ma g adual a pa i de n= 6000. T as in es iga las posibles causas, se de e minó que se debía a que la GPU educía su ecuencia pa a cumpli con los lími es de consumo que enía con igu ados. Po es e mo i o, se decidió que, pa a odos los expe imen os, se es ablece ía la ecuencia de la GPU a 1110 MHz (340 MHz po debajo de la con igu ación po de ec o). 23 24 Capí ulo 4. Resul ados expe imen ales Figu a 4.1: Caída de endimien o debido a lími e de consumo. Al se la N idia A30 de gene ación Ampe e, MAGMA y CUBLAS usa án los enso co es disponibles pa a acele a aun más los cálculos. Es o no debe ía supo- ne un p oblema pa a ealiza es os es udios, ya que la epa ición de ecu sos po p oceso se hace a ni el de SM. 4.2. Me odología expe imen al Todos los lanzamien os y g á icas de es e abajo se gene a on usando los sc ip s de Py hon mencionados en el Capí ulo 3. El sc ip usa á la he amien a mig-pa ed [1] pa a aplica las con igu aciones MIG que se especi iquen en los a gumen os. Pa a que mig-pa ed pueda aplica una con igu ación co ec amen e, es a se iene que añadi a un iche o en o ma o YAML con una sin axis especí ica documen ada po la aplicación. A modo de ejemplo, se incluye al inal de es a sección un iche o con dos con igu aciones egis adas. Una ez aplicadas las con igu aciones, el sc ip lee á la salida del comando “n idia-smi -L” pa a ob ene el ID de odas las pa iciones c eadas, que usa á pos e- io men e pa a lanza los comandos indicados en un p oceso dis in o, es ableciendo en cada la a iable de en o no CUDA_VISIBLE_DEVICES a cada uno de los IDs ob enidos. Los es s de MAGMA gene an una salida en o ma de abla cuyas ilas se co es- ponden con los amaños de p oblema que han ejecu ado. Cuando odos los p ocesos 4.3. Ejecuciones aisladas 25 e sion: 1 mig-con igs: 2c.4g.24gb: -de ices: all mig-enabled: ue mig-de ices: 2c.4g.24gb: 1 dos_medios: -de ices: all mig-enabled: ue mig-de ices: 2g.12gb: 2 Lis ing 6: Ejemplo de iche o YAML de con igu ación pa a la he amien a mig-pa ed [1]. e minen, el sc ip gene a á las g á icas usando ex ayendo de la salida de cada p oceso los da os de la columna co espondien e al endimien o pa a CUBLAS. 4.3. Ejecuciones aisladas P ime o, se a a explo a el compo amien o que p esen an las ope aciones GEMM y GEMV en pa iciones de dis in a opología, pa a e qué endimien o pueden alcanza dependiendo de los ecu sos que engan disponibles. 4.3.1. GEMM Lo p ime o que obse amos, como se puede e en la igu a 4.2a, es que el en- dimien o ob enido es di ec amen e p opo cional al amaño de la pa ición u ilizada (i.e., cada ez que se duplican los ecu sos de la pa ición, el endimien o ambién se duplica). Es o nos dice que, al menos en ausencia de o as ca ga de abajo simul á- neas, los ecu sos que asigna MIG a cada una de las pa iciones es el que especi ica la documen ación, y la ope ación GEMM es capaz de ap o echa los odos. Pos e io men e se epi ió el expe imen o an e io , pe o man eniendo cons an e el núme o de SMs que podían usa las pa iciones y aumen ando sólo el ancho de banda del que disponían. En es e caso, se ap ecia en la igu a 4.2b que el endimien o ob enido en los es casos es el mismo (el mismo que se ob enía pa a la cu a azul de la igu a 4.2a). Es o se debe, como se mencionó an e io men e, a que GEMM se a a de una ope ación “compu e-bound”, cuyo endimien o depende de o ma casi exclusi a del núme o de unidades de compu o de las que disponga. 26 Capí ulo 4. Resul ados expe imen ales Finalmen e, se di idió la GPU en ins ancias con el mismo ancho de banda de memo ia, pe o duplicando el núme o de SMs que enían disponibles. Vemos que, al con a io que en la igu a 4.2b, las cu as ob enidas en la igu a 4.2c son p ác ica- men e idén icas a las de la igu a 4.2a. Se ap ecia de nue o la na u aleza “compu e- bound” de la ope ación, ya que el endimien o se ha duplicado man eniendo el ancho de memo ia cons an e, pe o aumen ando el núme o de SMs. (a) Dis in a con igu ación de memo ia y nú- me o SMs (b) Dis in a con igu ación de memo ia, mis- mo núme o de SMs (c) Misma con igu ación de memo ia, dis in- o núme o de SMs Figu a 4.2: GEMM aislada, en dis in os ipos de pa iciones. 4.3.2. GEMV Como se espe aba, emos en la igu a 4.3a que, al igual que con la GEMM, el endimien o se duplica cuando se duplican odos los ecu sos de las pa iciones. Sin emba go, en la igu a 4.3b apa ece un esul ado algo dis in o al espe ado. Como GEMV se a a de una ope ación “memo y-bound”, se espe aba que el endi- mien o se duplica a cuando se doblaba el ancho de banda disponible. Sin emba go, se obse a como la cu a e de y la na anja p esen an el mismo endimien o, a pesa 4.3. Ejecuciones aisladas 27 de que la segunda con a a con el doble de ancho de banda que la p ime a. Además, la cu a na anja de es a igu a se es abiliza en o no a los 90 GLOPS, mien as que la de la igu a 4.3a sob epasa los 100 GFLOPS, a pesa de ene ambas asignadas el mismo ancho de banda. Las cu as de la igu a 4.3c mues an una si uación pa eci- da. Vemos que la cu a azul se es abiliza po debajo de los 100 GFLOPS espec o a los más de los de 200 que p esen a la cu a e de de la igu a 4.3a, a pesa de que ambas cuen an con el mismo ancho de banda asociado. (a) Misma con igu ación de memo ia y nú- me o SMs (b) Dis in a con igu ación de memo ia, mis- mo núme o de SMs (c) Misma con igu ación de memo ia, dis in- o núme o de SMs Figu a 4.3: GEMV aislada, en a ias pa iciones 4.3.3. Conclusiones Du an e es a p ime a ase expe imen al se ha es udiado como se compo an las ope aciones GEMM y GEMMV dependiendo de los ecu sos que engan disponibles. Conc e amen e, se ha comp obado la na u aleza “Compu e bound” de las ope- aciones GEMM, ya que se ha is o que su endimien o depende mucho del núme o de SMs que enga disponibles, mien as que el ancho de banda de la memo ia juega 34 Capí ulo 4. Resul ados expe imen ales 4.6.2. Dos cua os de la GPU (2x1g.6gb) En es e caso se lanza on las ope aciones sob e dos pa iciones 1g.6gb, cada una de las cuales se co esponde a un cua o del o al de los ecu sos de la GPU. De o ma simila , los endimien os que apa ecen en las igu as 4.9a y 4.9b son los mismos que apa ecían en las igu as 4.2 y 4.3, y la igu a 4.9c ampoco p esen a el p oblema de la bajada del endimien o pa a la GEMV. (a) 2×Gemm (b) 2×Gem (c) Gemm + Gem Figu a 4.9: Resul ados de ejecución u ilizando la ecnología MIG sob e una GPU con igu ada como 2×1g.6gb. 4.6.3. Cua o cua os de la GPU (4x1g.6gb) Po úl imo, se lanza on cua o aplicaciones de o ma concu en e sob e cua o pa iciones 1g.6gb dis in as, cada una de las cuales con aba con un cua o de los ecu sos o ales de la GPU. Los esul ados ( igu a 4.10) en es e caso son los mismos que los de las dos seccio- nes an e io es, y no apa ece ningún ipo de in e e encia en e las cua o pa iciones. 4.6. Ejecución concu en e con MIG 35 (a) 4×Gemm (b) 4×Gem (c) 2×Gemm+2×Gem Figu a 4.10: Resul ados de u iliza la ecnología MIG sob e una GPU con igu ada como 4×1g.6gb. 4.6.4. Conclusiones Se ha is o que el endimien o de las aplicaciones que lanza una p oceso en una pa ición no se e a ec ado po o as aplicaciones en dis in as pa iciones, in- dependien emen e del ipo de ope ación. Al con a io que en los esul ados de ases an e io es, el endimien o de las GEMV no se ha is o a ec ado po o as GEMM simul áneas, y los endimien os han sido es ables y p edecibles, independien emen e de la can idad que hubie a al mismo iempo y el ipo de pa ición. 36 Capí ulo 4. Resul ados expe imen ales 4.7. Conclusiones gene ales Las p incipales conclusiones a las que se ha llegado as la ealización de odos es os expe imen os son las siguien es: Cuando a ios p ocesos ejecu an aplicaciones de o ma simul ánea en la GPU, el endimien o que se puede espe a de cada una no es p edecible, y depende en g an medida de las o as. Es e e ec o es especialmen e no able si una aplicación es más “memo y-bound”, y se ejecu a al mismo iempo que o as que son más “compu e-bound”. Le ecnología MPS sólo pe mi e ob ene una mejo a de endimien o cuando odos los p ocesos hagan un uso pa cial de la GPU, y las en ajas que o ece se pie den cuando al menos uno de ellos no cumple es a condición. Po es e mo i o, MPS no pe mi e o ece un endimien o p edecible y es able pa a los dis in os p ocesos. Po úl imo, hemos is o como MIG sí ga an iza un aislamien o o al en e las pa iciones, y po an o pe mi e o ece un endimien o p edecible y es able a dis in os p ocesos siemp e que haya, como máximo, un p oceso usando cada pa ición al mismo iempo. Como des en aja, al es a las pa iciones comple- amen e aisladas, un p oceso no puede usa los ecu sos de la GPU que es én lib es ue a de su pa ición, po lo que a eces los endimien os que se ob ienen usando MIG pueden se más bajos que los que se ob end ían usando MPS. Cap´ ı ulo 5 Conclusiones y T abajo Fu u o En es e abajo se han es udiado los e ec os de con ención e in e e encia en e aplicaciones concu en es ejecu ando di e en es núcleos compu acionales sob e una misma GPU. Pa a ello, se han escogido ke nels ca ac e izados po ealiza un uso in ensi o de dos de los ecu sos compa idos a ni el de GPU: núcleos de compu ación (co es) y ancho de banda de memo ia. Los ke nels seleccionados son lo su icien e- men e ca ac e ís icos como pa a se i como e e encia de ca a al es udio de o o ipo de p og amas. Una ez conocidas las ca ac e ís icas de cada una de las ope aciones a e alua y su compo amien o de o ma aislada, se p ocedió a es udia a ias al e na i as pa a con ola la in e acción en e ope aciones de dis in os p ocesos simul áneos den o de la misma GPU. En p ime luga , se lanza on a la GPU de o ma concu en e a ias ins ancias de es as aplicaciones, sin ningún ipo de ecnología pa a in e media po el uso de ecu sos. Se io como el endimien o que se ob enía pa a cada una de las aplicaciones e a mucho más imp edecible que cuando se ejecu aban de mane a indi idual, y en algunas ocasiones bajaba de o ma d ás ica. En segundo luga , se analizó la he amien a N idia Mul i P ocess (MPS). Se con- cluyó que MPS apo a una mejo a de endimien o solo si cada uno de los p ocesos que usan la GPU no gene a abajo su icien e como pa a u iliza odos los ecu sos disponibles. En caso con a io, su u ilidad se e educida. Además, ambién se ob- se ó como MPS no pe mi e ga an iza un endimien o es able y p edecible a cada uno de los p ocesos. Queda pendien e analiza más en p o undidad es a he amien- a, p obando algunas opciones de con igu ación que no se han usado en es e abajo (po ejemplo, asigna un po cen aje de los ecu sos del se ido a un p oceso). Po úl imo, se es udió la ecnología MIG. Se obse ó como las pa iciones que se c eaban es aban aisladas comple amen e del es o, de modo de no se p oduje on in e e encia en e las aplicaciones que se se ejecu a on en cada uno. Es o pe mi e 37 38 Capí ulo 5. Conclusiones y T abajo Fu u o ga an iza un endimien o es able y p edecible pa a a ios p ocesos, siemp e que cada uno lance sus ope aciones en una pa ición dis in a. También se pudo obse a que, en ocasiones, el endimien o que se ob enía e a meno que los que se ob enían con MPS, ya que el p oceso de una pa ición no puede usa los ecu sos de o as pa iciones que se encuen en lib es. Las conclusiones obse adas pueden se ácilmen e aplicadas a o o ipo de apli- caciones, así como la me odología expe imen al u ilizada. Además, se plan ea como abajo u u o la in eg ación de es e ipo de ecnologías de pa icionado sob e pla- ni icado es de a eas o abajos eales, como Kube ne es. La combinación de MIG y MPS se plan ea ambién como una línea de abajo in e esan e, así como la e alua- ción de nue as ca gas de abajo con dis in o ipo de ca ac e ís icas. NOTA: odas las g á icas y código que se ha esc i o o modi icado en es e abajo se puede encon a en el siguien e eposi o io de Gi hub: h ps://gi hub.com/ jucm8/ g-mig. Chap e 6 In oduc ion 6.1. In oduc ion Due o he g ea ad ances in science and enginee ing, oge he wi h he echno- logical p og ess made in he las decades, i is inc easingly common o ind many compu e applica ions o di e en na u e ha equi e g ea compu a ional powe . Machine lea ning algo i hms, physics simula ions, 3D ende ing o e en he la es ideo games equi e specialized and powe ul ha dwa e ha mos use s don’ ha e a ailable. This is one o he main easons why he popula i y o cloud compu ing pla o ms is aising la ely, because hey o e his compu ing capabili y emo ely o use s. The cloud p o ide ’s esou ces a e o e ed by demand and sha ed be ween all o hei clien s. Howe e , use s expec hei compu a ions o be able o exclusi ely use hese esou ces, accessibili y and pe o mance wise. The e o e, ou new dis inc , bu ela ed, ope a ional challenges a ise in he ield o cloud compu ing and he p o ision o sha ed compu ing esou ces: 1. Use imes: In mos cases, he use o sha ed esou ces by use s is no uni o m. Some imes i s esou ces a e used in ensi ely, and some imes i s esou ces e- main idle and could be assigned o o he use s. 2. Applica ions o dis inc na u e: he na u e o he scheduled applica ions can a y g ea ly, each one can ha e phases whe e a massi e use o some o all o he a ailable esou ces is made, and o he ligh e ones in which he ull compu a ional po en ial o he esou ces is no used (o is no equi ed). 3. Acquisi ion and main enance cos s: The cos s o se e s (p obably equipped wi h compu a ional accele a o s) is usually high, so i is ad isable o imple- men s a egies ha imp o e i s u iliza ion a e in si ua ions whe e i ’s unde - u ilized, possibly by o e ing i on a sha ed basis o use s. 39 40 Chap e 6. In oduc ion 4. In e e ence be ween jobs: I is e y common o use s o wan o be able o p edic how much ime hei applica ions will ake, in a way ha is as de- e minis ic as possible. In a con ex whe e compu ing esou ces a e sha ed be ween mul iple use s , i makes sense o apply s a egies o educe in e e - ence be ween applica ions by isola ing esou ces alloca ed o each one. One o he mos widely used compu a ional esou ces in cloud compu ing se ices a e g aphics p ocesso s (GPUs). O e he pas wo decades, he compu a ional powe and deg ee o pa allelism ha a high-end GPU p o ides has g own o be indispensable o achie e high pe o mance in many di e en applica ions. In ac , oday his pa allel compu ing capabili y is so high ha a lo o applica ions a e no able o ake ad an age o all hese esou ces. To add ess his issue, one possible solu ion is o o e he esou ces o one o mul iple GPUs on a sha ed basis, accessible concu en ly by mul iple use s. This s a egy inc eases he u iliza ion a e o he GPU(s), bu b ings new issues wi h he con en ion o e access o sha ed esou ces. Thus, a new p oblem a ises: wi hou (so wa e/ha dwa e) suppo om manu- ac u e s, he e is no simple solu ion o o e he GPU as a sha ed compu e esou ce ( hus educing main enance and acquisi ion cos s and inc easing i s e ec i e u iliza- ion) wi hou a oiding in e e ence be ween concu en applica ions. To sol e his p oblem, N idia has de eloped he new MIG ("Mul i Ins ance GPU") echnology, which allows a GPU o be di ided in o se e al, comple ely iso- la ed ins ances, each wi h i s own esou ces. Concu en p og ams can un in pa - allel, each one on a sepa a e ins ance, allowing endo s o o e hei cus ome s p edic able pe o mance ha is no nega i ely in luenced by jobs ha may be e- ques ed by o he use s. The GPU can be spli asymme ically o be e suppo wo kloads o di e en size and/o na u e, so no all pa i ions ha e o be o he same size. 6.2. Objec i es The objec i e o his p ojec is o s udy and e alua e N idia’s new MIG echnol- ogy on las gene a ion GPUs, and o compa e i s beha io and e iciency wi h espec o o he exis ing echnologies a ailable o sha ing GPUs be ween applica ions o use s. Fo his pu pose, we will analyze he di e en con igu a ions a ailable o he GPU we will be wo king wi h (N idia A30) agains wo kloads o di e en na u e, analyzing bo h he maximum pe o mance ob ained and he po en ial in e e ences be ween hem. This main objec i e can be di ided in ou di e en smalle , mo e speci ic objec- i es: 6.3. Documen s uc u e 41 1. S udy he beha iou o applica ions o di e en na u e, and how hei pe o - mance depend on he a ious kinds o esou ces a ailable inside he GPU. 2. Analyze how esou ces a e sha ed be ween concu en applica ions inside he GPU, and he pe o mance loss ha ocu s om his. 3. Indi idually s udy di e en echnologies o mi iga e he nega i e impac s o esou ce sha ing inside he GPU. 4. Compa e hese echnologies o each o he , analyzing he p os and cons each one o e s, and analyzing in which si ua ions i is p e e able o use each one. 6.3. Documen s uc u e Chap e 2 con ains some heo e ical concep s ha a e essen ial o his p ojec . Speci ically, i will discuss GPU a chi ec u e, he CUDA p og amming model, he p oblems ha a ise om sha ing a GPU among se e al p ocesses, and MIG and MPS echnologies. Subsequen ly, he me hodology ollowed du ing he whole expe imen al phase is explained in Chap e 3. The wo kloads chosen, me hodology and he di e en expe imen al phases will be discussed. A e wa ds, in Chap e 4 he esul s ob ained in he expe imen al phase will be analyzed. Fi s , he a ge a chi ec u e on which all expe imen s we e ca ied ou is in oduced. The nex sec ion con ains de ails abou he me hodology used o launch he expe imen s. Then, he esul s ob ained in each o he expe imen al phases will be analyzed in dep h. To conclude he chap e , a inal sec ion o expe imen al conclusions will be included, in which he conclusions o all he expe imen al phases will be analyzed oge he . Finally, Chap e 5 con ains some gene al conclusions and possible lines o wo k ha emain pending o s udy in he u u e. Chap e 7 Conclusions and u u e wo k This p ojec has explo ed he e ec s o con en ion and in e e ence be ween con- cu en applica ions unning di e en compu a ional ke nels on he same GPU. Fo his pu pose, we ha e chosen ke nels cha ac e ized by an in ensi e use o wo o he di e en sha ed esou ces a he GPU: compu a ional co es and memo y bandwid h. The ke nels selec ed a e cha ac e is ic enough o se e as a e e ence o he s udy o o he ypes o p og ams. Once he beha iou in isola ion o each o he ke nels was known, se e al al e na- i e echnologies o con ol he in e ac ion be ween di e en simul aneous p ocesses wi hin he same GPU we e s udied. Fi s , mul iple ins ances o hese applica ions we e launched concu en ly on he GPU, wi hou any echnology o in e media e esou ce usage. We obse ed ha he pe o mance ob ained o each o he applica ions was much mo e unp edic able han when hey we e un isola ed, and some imes i d opped d ama ically. Secondly, he N idia Mul i P ocess Tool (MPS) was s udied. I was concluded ha MPS only p o ides a pe o mance imp o emen i each one o he p ocesses using he GPU does no gene a e enough wo k o use all he a ailable esou ces. O he wise, i s bene i s a e e y minimal. I was also obse ed ha MPS does no gua an ee s able and p edic able pe o mance o each one o he concu en p o- cesses. I s ays as u u e wo k o analyze his ool in mo e dep h, es ing some op ions MPS p o ides ha ha e no been used in his p ojec ( o example, assign- ing a pe cen age o he esou ces o a p ocess). Las ly, he MIG echnology was s udied. The c ea ed pa i ions we e comple ely isola ed om each o he , and he e was no in e e ence be ween he applica ions unning in each one. This allows o gua an ee s able and p edic able pe o mance o se e al p ocesses, as long as each one launches i s ope a ions in a di e en pa i ion. I was also obse ed ha some imes, he pe o mance ob ained was lowe han ha ob ained wi h MPS, since a p ocess in one pa i ion canno use he esou ces o 43