12.07.2015 Views

Libro en PDF - DIT - Universidad Politécnica de Madrid

Libro en PDF - DIT - Universidad Politécnica de Madrid

Libro en PDF - DIT - Universidad Politécnica de Madrid

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Complejidad y sistemas distribuidosDes<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong> la complejidad, las llamadas a procedimi<strong>en</strong>to remotoproporcionan un instrum<strong>en</strong>to que reduce la complejidad que percibe el programador.Una vez construido todo el sistema <strong>de</strong> llamadas remotas (cosa que, si se hacebi<strong>en</strong>, t<strong>en</strong>drá una utilidad g<strong>en</strong>eral), el diseño <strong>de</strong> un sistema distribuido pue<strong>de</strong> sertratado como si fuera c<strong>en</strong>tralizado. Cuando se necesit<strong>en</strong> recursos <strong>de</strong> otras máquinas,llamaremos a los RPCs que gestion<strong>en</strong> estos recursos, <strong>de</strong> la misma manera quellamaríamos a un procedimi<strong>en</strong>to local, olvidándonos <strong>de</strong> todos los problemas <strong>de</strong>comunicaciones, colaboración <strong>en</strong>tre procesos remotos, etc 18 .Por tanto, constituy<strong>en</strong> un I que permite que el observador perciba un IO muchomás s<strong>en</strong>cillo que el O original (todo el proceso <strong>de</strong> comunicaciones y ejecucionesremotas que implem<strong>en</strong>ta una RPC). Como mo<strong>de</strong>lo conceptual, si el sistema nos"obliga" a realizar todas las interacciones con otras máquinas a través <strong>de</strong> RPCs, elconjunto virtualm<strong>en</strong>te infinito <strong>de</strong> posibles formas <strong>de</strong> realizar las comunicacionesqueda reducido a un único elem<strong>en</strong>to: la llamada a procedimi<strong>en</strong>to. Al realizarsetodas las interacciones <strong>en</strong>tre máquinas según este mo<strong>de</strong>lo, el programador ti<strong>en</strong>eque t<strong>en</strong>er <strong>en</strong> cu<strong>en</strong>ta m<strong>en</strong>os posibilida<strong>de</strong>s y combinaciones.4.3 El espacio <strong>de</strong> tuplas <strong>de</strong> LindaEl espacio <strong>de</strong> tuplas <strong>de</strong> Linda 19 proporciona otro mecanismo capaz <strong>de</strong> facilitarcierto tipo <strong>de</strong> distribución al programador. Consiste éste <strong>en</strong> una memoria virtual(organizada como espacio <strong>de</strong> tuplas), sobre la que se construy<strong>en</strong> tres operacionesbásicas 20 :a. out: aña<strong>de</strong> una tupla al espacio.b. in: lee una tupla <strong>de</strong>l espacio, y la borra.c. read: lee una tupla sin borrarla.18 En realidad, no pued<strong>en</strong> olvidarse totalm<strong>en</strong>te esos problemas. Por un lado, al ir las llamadaspor la red, percibiremos un retardo mayor que <strong>en</strong> el caso <strong>de</strong> llamadas locales (que se realizan<strong>en</strong> memoria). Y por otro, el hecho <strong>de</strong> utilizar recursos remotos da lugar a algunas dificulta<strong>de</strong>ssi, por ejemplo, alguna máquina se cae mi<strong>en</strong>tras ejecutaba una tarea para nosotros.A<strong>de</strong>más, <strong>en</strong> algún mom<strong>en</strong>to ha habido que diseñar los RPCs...19 Linda S/Net es un sistema operativo <strong>de</strong>sarrollado por AT&T, sobre un hardware especializado<strong>en</strong> comunicaciones tipo "broadcast" (comunicación <strong>de</strong> uno a muchos) rápidas. Una <strong>de</strong>scripción<strong>de</strong>tallada <strong>de</strong>l sistema pue<strong>de</strong> <strong>en</strong>contrarse <strong>en</strong> [Carriero, 1986].20 La <strong>de</strong>scripción <strong>de</strong> las operaciones sobre las tuplas está tomada <strong>de</strong> [Birman, 1988].261

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!