Network Working Group                                       T. Dreibholz
Internet-Draft                              University of Duisburg-Essen
Intended status: Standards Track                            June 5, 2007
Expires: December 7, 2007


   Applicability of Reliable Server Pooling for Real-Time Distributed
                               Computing
            draft-dreibholz-rserpool-applic-distcomp-03.txt

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on December 7, 2007.

Copyright Notice

   Copyright (C) The IETF Trust (2007).













Dreibholz               Expires December 7, 2007                [Page 1]


Internet-Draft     RSerPool for Distributed Computing          June 2007


Abstract

   This document describes the applicability of the Reliable Server
   Pooling architecture to manage real-time distributed computing pools
   and access the resources of such pools.














































Dreibholz               Expires December 7, 2007                [Page 2]


Internet-Draft     RSerPool for Distributed Computing          June 2007


1.  Introduction

   Reliable Server Pooling defines protocols for providing highly
   available services.  The services are located in a pool of redundant
   servers and if a server fails, another server will take over.  The
   only requirement put on these servers belonging to the pool is that
   if state is maintained by the server, this state must be transferred
   to the other server taking over.

   The goal is to provide server-based redundancy.  Transport and
   network level redundancy are handled by the transport and network
   layer protocols.

   The application may choose to distribute its traffic over the servers
   of the pool conforming to a certain policy.

1.1.  Scope

   The scope of this document is to explain the way of using Reliable
   Server Pooling mechanisms to manage and access pools of Distributed
   Computing resources.

1.2.  Terminology

   The terms are commonly identified in related work and can be found in
   the Aggregate Server Access Protocol and Endpoint Handlespace
   Redundancy Protocol Common Parameters document ietf-rserpool-common-
   param [6]























Dreibholz               Expires December 7, 2007                [Page 3]


Internet-Draft     RSerPool for Distributed Computing          June 2007


2.  Distributed Computing using RSerPool

2.1.  Requirements

   o  Clients generate large computation jobs.  Jobs have to be
      processed by servers as soon as possible (real-time), i.e. unlike
      concepts like SETI@home [20], it is not possible to let clients
      fetch a job, process it later and may be some day upload the
      result.

   o  Jobs may be partitionable, i.e. they can be split up to smaller
      pieces which can be processed independently and the processing
      results can be concatenated to the processing result of the
      complete job.  Jobs have to be processed by servers.

   o  Servers may be unreliable; i.e. user computers may be temporarily
      added to the pool of computing resources and may be revoked when
      they are used again by their owners.  Furthermore, they may simply
      disappear because of broken network connections (modems, etc.) or
      power turned off.

   o  The processing power of servers in a pool of computing resources
      may be very heterogeneous, i.e. a few supercomputers and many low-
      end user PCs.

   o  It must be possible to manage large server pools, e.g. up to some
      hundreds or even thousands of servers.

   o  Due to heterogeneous processing resources within a pool, it must
      be possible to use appropriate server selection procedures to
      meaningfully utilize the available resources.

   o  It must be possible to dynamically add and remove servers.

   o  Servers may be unreliable, especially when the servers are
      represented by user PCs.  Failover mechanisms are required to
      continue an interrupted computation session.

2.1.1.  Architecture

   o  An efficient implementation of the handlespace management
      structures allows pools to contain thousands of elements.
      Handlespace management structures have been proposed, implemented
      and analyzed in [19], [11].

   o  RSerPool allows to specify server selection rules by pool member
      selection policies [7].  A set of adaptive and non-adaptive
      policies is already defined.  To fulfill the requirements of new



Dreibholz               Expires December 7, 2007                [Page 4]


Internet-Draft     RSerPool for Distributed Computing          June 2007


      applications, it is also possible to define new policies.
      Research has already been made on the subject of load distribution
      efficiency of pool policies in Distributed Computing scenarios:
      see [12], [11], [13], [16], [17] for details.

   o  Dynamic addition and removal of PEs is a feature of RSerPool [4].

   o  The control/data channel concept [8] of RSerPool realizes a
      session layer.  That is, RSerPool already handles the main task of
      maintaining and monitoring connections between PUs and PEs; the
      only task of the application layer to provide full failover
      functionality is to realize an application-dependent failover
      procedure.  By the usage of client-based state synchronization
      [14], [15] in the form of ASAP Cookies, a failover may be fully
      transparent to the PU while only a state restoration is necessary
      on the PE side.  A demo application [10] using the RSerPool
      session layer in a Distributed Computing application is described
      in [18].

2.1.2.  Limitations

   Applying RSerPool for distributed computing applications, the duties
   of the RSerPool architecture are still limited to the management of
   pools and independent sessions only.  It is in particular a non-goal
   to provide functionalities like data synchronization among sessions,
   user authentication, accounting or the support for more than one
   administrative domain.  Such functionalities are considered to be
   application-specific and are therefore out of the scope of RSerPool.

2.1.3.  Implementation

   A proof of concept implementation of a Distributed Computing
   application based on the RSerPool prototype rsplib can be found at
   [10].  This system provides a fractal graphics computation service;
   the failover procedure is handled by ASAP cookies.
















Dreibholz               Expires December 7, 2007                [Page 5]


Internet-Draft     RSerPool for Distributed Computing          June 2007


3.  Security considerations

   The protocols used in the Reliable Server Pooling architecture only
   try to increase the availability of the servers in the network.
   RSerPool protocols do not contain any protocol mechanisms which are
   directly related to user message authentication, integrity and
   confidentiality functions.  For such features, it depends on the
   IPSEC protocols or on Transport Layer Security (TLS) protocols for
   its own security and on the architecture and/or security features of
   its user protocols.

   The RSerPool architecture allows the use of different transport
   protocols for its application and control data exchange.  These
   transport protocols may have mechanisms for reducing the risk of
   blind denial-of-service attacks and/or masquerade attacks.  If such
   measures are required by the applications, then it is advised to
   check the SCTP applicability statement RFC3257 [2] for guidance on
   this issue.

































Dreibholz               Expires December 7, 2007                [Page 6]


Internet-Draft     RSerPool for Distributed Computing          June 2007


4.  References

4.1.  Normative References

   [1]   Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer,
         H., Taylor, T., Rytina, I., Kalla, M., Zhang, L., and V.
         Paxson, "Stream Control Transmission Protocol", RFC 2960,
         October 2000.

   [2]   Coene, L., "Stream Control Transmission Protocol Applicability
         Statement", RFC 3257, April 2002.

   [3]   Tuexen, M., "Architecture for Reliable Server Pooling",
         draft-ietf-rserpool-arch-12 (work in progress), November 2006.

   [4]   Stewart, R., "Aggregate Server Access Protocol (ASAP)",
         draft-ietf-rserpool-asap-15 (work in progress), January 2007.

   [5]   Stewart, R., "Endpoint Handlespace Redundancy Protocol (ENRP)",
         draft-ietf-rserpool-enrp-15 (work in progress), January 2007.

   [6]   Stewart, R., "Aggregate Server Access Protocol (ASAP) and
         Endpoint Handlespace Redundancy  Protocol (ENRP) Parameters",
         draft-ietf-rserpool-common-param-11 (work in progress),
         October 2006.

   [7]   Tuexen, M. and T. Dreibholz, "Reliable Server Pooling
         Policies", draft-ietf-rserpool-policies-04 (work in progress),
         March 2007.

   [8]   Conrad, P. and P. Lei, "Services Provided By Reliable Server
         Pooling", draft-ietf-rserpool-service-02 (work in progress),
         October 2005.

   [9]   Bradner, S., "Intellectual Property Rights in IETF Technology",
         RFC 3668, February 2004.

4.2.  Informative References

   [10]  Dreibholz, T., "Thomas Dreibholz's RSerPool Page",
         URL: http://tdrwww.exp-math.uni-essen.de/dreibholz/rserpool/.

   [11]  Dreibholz, T., "Reliable Server Pooling -- Evaluation,
         Optimization and Extension of a Novel IETF Architecture", Ph.D.
         Thesis University of Duisburg-Essen, Faculty of Economics,
         Institute for Computer Science and Business Information
         Systems, URL: http://duepublico.uni-duisburg-essen.de/servlets/
         DerivateServlet/Derivate-16326/Dre2006-final.pdf, March 2007.



Dreibholz               Expires December 7, 2007                [Page 7]


Internet-Draft     RSerPool for Distributed Computing          June 2007


   [12]  Dreibholz, T. and E. Rathgeb, "On the Performance of Reliable
         Server Pooling Systems", Proceedings of the 30th IEEE Local
         Computer Networks Conference, November 2005.

   [13]  Dreibholz, T. and E. Rathgeb, "The Performance of Reliable
         Server Pooling Systems in Different Server Capacity Scenarios",
         Proceedings of the IEEE TENCON, November 2005.

   [14]  Dreibholz, T., "An efficient approach for state sharing in
         server pools", Proceedings of the 27th IEEE Local Computer
         Networks Conference, October 2002.

   [15]  Dreibholz, T. and E. Rathgeb, "RSerPool -- Providing Highly
         Available Services using Unreliable Servers",
         Proceedings Proceedings of the 31st IEEE EuroMirco Conference
         on Software Engineering and Advanced Applications, August 2005.

   [16]  Dreibholz, T., Zhou, X., and E. Rathgeb, "A Performance
         Evaluation of RSerPool Server Selection Policies in Varying
         Heterogeneous Capacity Scenarios", Proceedings Proceedings of
         the 33rd IEEE EuroMirco Conference on Software Engineering and
         Advanced Applications, August 2007.

   [17]  Dreibholz, T., Rathgeb, E., and M. Tuexen, "Load Distribution
         Performance of the Reliable Server Pooling Framework",
         Proceedings of the 4th IEEE International Conference on
         Networking, April 2005.

   [18]  Dreibholz, T. and E. Rathgeb, "An Application Demonstration of
         the Reliable Server Pooling Framework", Proceedings of the 24th
         IEEE Infocom, March 2005.

   [19]  Dreibholz, T. and E. Rathgeb, "Implementing the Reliable Server
         Pooling Framework", Proceedings of the 8th IEEE International
         Conference on Telecommunications, June 2005.

   [20]  "SETI@home: Search for Extraterrestrial Intelligence at home",
         URL: http://setiathome.ssl.berkeley.edu.













Dreibholz               Expires December 7, 2007                [Page 8]


Internet-Draft     RSerPool for Distributed Computing          June 2007


Author's Address

   Thomas Dreibholz
   University of Duisburg-Essen, Institute for Experimental Mathematics
   Ellernstrasse 29
   45326 Essen, Nordrhein-Westfalen
   Germany

   Phone: +49-201-1837637
   Fax:   +49-201-1837673
   Email: dreibh@exp-math.uni-essen.de
   URI:   http://www.exp-math.uni-essen.de/~dreibh/







































Dreibholz               Expires December 7, 2007                [Page 9]


Internet-Draft     RSerPool for Distributed Computing          June 2007


Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Acknowledgment

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).





Dreibholz               Expires December 7, 2007               [Page 10]