sisoputnfrba / foro

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

[BROKER] Consolidación Particiones. Duda con el tamaño de las particiones. #1797

Closed papa-caco closed 4 years ago

papa-caco commented 4 years ago

Buenas noches.

Hicimos un pull de las pruebas del TP que subieron ayer. Una duda tenemos es la del tamaño que deben mantener las particiones que reemplaza el Broker y consolida. Un ejemplo concreto es el de la prueba de consolidación básica en la 1° parte con el algoritmo de reemplazo FIFO.
Cuando el Broker recibe el último mensaje "BROKER CATCH_POKEMON Charmander 4 5", este mensaje va a ocupar 22 Bytes del Cache y el Broker tiene que reemplazar las 3 particiones de los 3 primeros mensajes: BROKER CAUGHT_POKEMON 1 OK -> Partición# 1 | 4 Bytes BROKER CAUGHT_POKEMON 1 FAIL -> Partición# 2 | 4 Bytes BROKER CATCH_POKEMON Pikachu 2 3 -> Partición# 3 | 19 Bytes Al ir consolidándolas una por una, finalmente se logra conseguir que la partición #1 tenga un espacio de 27 Bytes. La duda es: ¿Al guardar el último mensaje de 22 Bytes en la nueva partición consolidada #1 se debe mantener el tamaño conseguido al consolidar (27 Bytes), o se debe redimensionar esta partición a 22 bytes que es lo que ocupa el mensaje? Nos parece más lógico lo 2° para poder reaprovechar el espacio sobrante, ya que el tamaño de la partición (ya sea que usemos 22 o 27 bytes) es superior al tamaño mínimo de la partición indicado en la configuración.

image

Muchas gracias. Saludos!

foviedo commented 4 years ago

Se tiene que redimensionar y te va a quedar una partición de 22 bytes exactos y otra de 5 bytes que son los que te sobran. Este issue me trajo una pregunta a mí que espero no te joda pregunte acá: Imaginemos que mi tamaño mínimo de partición es NO SÉ 100, y tengo una memoria de 250 bytes Me llegan 2 mensajes que pesan menos de 100, la memoria me va a quedar Particion 0 de 100 ocupada Partición 1 de 100 ocupada Partición 2 de 50 libre Es "legal" que siquiera exista esta partición libre? O tengo que chequear que cumpla el tamaño mínimo recién cuando quiero ocuparla? Porque si es el primer caso, mi tamaño total de memoria tendría que ser un múltiplo del tamaño mínimo

iago64 commented 4 years ago

Buenas buenas!!

Como bien dice @foviedo lo que tenes que hacer es redimensionar la partición y que te queden 22 ocupados y 5 libres.

@foviedo Tranqui, el tema del tamaño mínimo de partición solo aplica para las particiones ocupadas, las libres pueden ser de 1 byte. Por ahí el ejemplo que usaste es poco probable, pero si lo bajamos a tamaño mínimo de partición 10 y 55 bytes de memoria, ahí si es mas probable que se te de que si tenes 5 CAUGHT te sobren 5 bytes, pero no te olvides que puede llegarte por ej un mensaje de 15 bytes y ocuparte mas de los 10 mínimos 😉

Saludos.-

papa-caco commented 4 years ago

Perfecto, quedó clara la duda del tamaño y redimensionar. Gracias Facundo y Damian. Saludos