sisoputnfrba / foro

Foro de consultas para el trabajo práctico
151 stars 7 forks source link

Duda Prueba Algoritmos de Reemplazo y Compactacion #1196

Closed tchejanovich closed 6 years ago

tchejanovich commented 6 years ago

Buenas, tengo una duda sobre la prueba de Algoritmos de Reemplazo y Compactacion que corre el ESI_MultiReemplazo. La prueba dice que los reemplazos deberan comenzar a ejecutarse con la instruccion SET nintendo:consola:wiiu RIP, pero según calcule en ese momento todavia queda una entrada libre, por lo que comenzarian con la proxima instruccion (considerando la configuración de 8 entradas de tamaño 10):

....
SET nintendo:consola:nes Mario (1 entrada)
SET nintendo:consola:snes SuperMario (1 entrada)
SET nintendo:consola:nintendo64 Mario64 (1 entrada)
SET nintendo:consola:gamecube FinalFantasyTactics (2 entradas)
SET nintendo:consola:wii MarioGalaxy (2 entradas)
SET nintendo:consola:wii MarioGalaxy2  (2 entradas pero al ser la misma clave que la anterior el valor 'MarioGalaxy' se va)
...
EN ESTE MOMENTO HAY 7 ENTRADAS OCUPADAS
SET nintendo:consola:wiiu RIP 
...
friends96 commented 6 years ago

hola holaaa, vengo a aportar mi granito de arena tambien Noté lo mismo que cheja y por eso vine a ver los issues. También en la misma prueba dice que

Según los algoritmos, los resultados al ejecutar SET sony:consola:ps3 TLOU deberían ser: CIRC 0 FF8 1 GodOfWar 2 TLOU 3 FinalFanta 4 syTactics 5 MarioGalax 6 y2 7 RIP

pero por el script

SET nintendo:consola:nintendo64 PkmnSnap SET sony:consola:ps2 GodOfWar SET sony:consola:ps1 FF8 SET sony:consola:ps3 TLOU

en la posicion 0 debería estar GodOfWar y en Posicion 1 FF8 me parece. Es así o me estoy equivocando?

Desde ya, muchisimas gracias

EDIT 1 Mala miaaa jajaa, me di cuenta de que ya se había hecho anteriormente un set de la clave sony:consola:ps1 con el Valor FF7, asi que en el caso que mostré antes solo se esta reemplazando una clave ya guardada. Dejo el comentario igual por si alguien se confunde igual que yo. Pisé el palito

afilgueira commented 6 years ago

Lo redactamos mejor para la V1.2. La idea es que Los reemplazos deberán comenzar al (terminar de) ejecutar la sentencia SET nintendo:consola:wiiu RIP

moralessebastian46 commented 6 years ago

Agrego otra duda:

La primer clave que va a requerir un reemplazo según el ESI_MultiClave va a ser:

SET nintendo:consola:switch MarioOddysey pero teniendo en cuenta que su tamaño es de 12 caracteres y el máximo por entrada es de 10 estaríamos hablando de un valor NO atómico.

En el enunciado hablaba de que los reemplazos solamente se deben hacer para los valores atómicos, con lo cual nunca podría guardar el valor pedido.. ya que tampoco hay nada que compactar.

Valor Atómico Son aquellos valores que no exceden el tamaño de una entrada de almacenamiento. El proceso de reemplazo de entradas solo se aplica a aquellos valores que cumplan con este criterio.

Si no la estoy pifiando mal el primer valor recibido y que requiere reemplazar debería ser un valor atómico. Help!

ignaciodelvalle commented 6 years ago

Los resultados estan puestos para ESI_MultiReemplazo, no ESI_MultiClave.

Aprovecho para preguntar 2 cosas:

1) El tp dice:

"Dado que nuestro sistema se enfoca en aspectos de disponibilidad y no tanto en aspectos de consistencia, siempre se permitirá el almacenamiento de un nuevo. Para lograr esto cuando no existe más espacio, es necesario reemplazar entradas ya cargadas en la Instancia"

y "Valor Atomico: Son aquellos valores que no exceden el tamaño de una entrada de almacenamiento. El proceso de reemplazo de entradas solo se aplica a aquellos valores que cumplan con este criterio."

esto no es excluyente? Es decir, podria haber una instancia que tenga todos valores no atomicos, y sin embargo le van a dar cosas para guardar. Que hace en esos casos?

2) En las VMs de la prueba de reemplazo dice "ESI_Compactador1" y en las Actividades: dice "ESI_Compactador2", cual tenemos que tener en cuenta para los resultados esperados?

LeaTex commented 6 years ago

podria haber una instancia que tenga todos valores no atomicos, y sin embargo le van a dar cosas para guardar. Que hace en esos casos?

ya lo mencionamos en otros issues. no debería pasar eso, si es que las pruebas están bien armadas. pero... si llegase a pasar, la instancia debería devolver un error del estilo "no tengo espacio" o "no puedo hacer el set" o "no puedo reemplazar" o "queremos vacaciones" o lo que sea, pero un error al fin y al cabo.

glepetic commented 6 years ago

Lo redactamos mejor para la V1.2. La idea es que Los reemplazos deberán comenzar al (terminar de) ejecutar la sentencia SET nintendo:consola:wiiu RIP

Buenas, Se sabe cuando va a estar la version 1.2 de las pruebas, considerando que mañana ya es la entrega?

iago64 commented 6 years ago

@glepetic si, para el lunes, porque seguramente tengamos que ajustar bien los tiempos de las pruebas y no vamos a sacar una v1.2 y el lunes sacar la v1.3 con los tiempos ajustados.

fedekiwo commented 6 years ago

Hola, respecto a lo que decía @afilgueira, después del set del SET nintendo:consola:wiiu RIP, viene SET nintendo:consola:nintendo64 MarioKart que dicha clave ya se encuentra en la instancia y como se cumple la condición de que el valor a setear es menor o igual (en entradas) al actual ("Mario64") dicho set no requiere que se corra el algoritmo de reemplazo por más que no haya entradas disponibles debido a que se reemplaza directamente por el valor que ya estaba seteado. El primer Set que requiere la intervención del algoritmo de reemplazo es el siguiente al anterior mencionado; SET sony:consola:ps1 FF7. La pregunta sería si es correcto lo que acabo de decir. Gracias!

afilgueira commented 6 years ago

Ahi quedó acomodado. Si lo ven bien, cierren porfa!

estebanmartineez commented 6 years ago

No estaria pudiendo ver las pruebas con las modificaciones en la pagina.

mgarciaisaia commented 6 years ago

@estebanmartineez gracias por el aviso. El documento se encuentra ahora en este link.

Ahora actualizo el post en el blog.

estebanmartineez commented 6 years ago

Buenas: Mediante los cambios que se hicieron, al aplicar el algoritmo LRU tengo diferencias con lo que dice que deberia pasar en el test: me queda lo siguiente: 0 - FF8 1 - GodOfWar 2 - PkmnSnap 3 - TLOU 4- (vacio) 5- MarioGalax 6- y2 7- RIP Esto tiene sentido dado que cuando intenta hacer SET sony:consola:ps3 TLOU la key a reemplazar es la de "nintendo:consola:gamecube" que ocupa dos entradas. Quedo en espera de confirmacion, ya que esto es una duda, pero lo hice en papel, y lo debuggie y siempre llego al mismo resultado. Gracias

moralessebastian46 commented 6 years ago

@estebanmartineez

Mira yo hasta el finde pasado lo venia reemplazando igual que vos, y tuve que corregirlo dado que los reemplazos unicamente se deben hacer sobre entradas atomicas. es decir en ese caso en vez de reemplazar la entrada 3, deberias reemplazar alguna otra atomica (dependiendo el algoritmo). Haciendo eso, el resultado es el mismo que el esperado.

De todos modos seria bueno que lo re-confirmen por favor.

saludos!

afilgueira commented 6 years ago

Hola, se reemplazan sólo las atómicas. Saludos!

tferraro commented 6 years ago

Buenass, que tul con esto? Se solucionaron las dudas? Si es así, plz cierren el issue :)

tchejanovich commented 6 years ago

@tferraro Sisi