From: Ankur Rawat \(Excell Data Corporation\) (a-arawat_at_microsoft.com)
Date: Wed Feb 25 2004 - 13:03:20 PST
This paper explains the design and implementation of the Porcupine mail
system. The paper discusses scalability issues in the context of
manageability, availability and performance of the service.
The service is built using a cluster of commodity desktops which could
be of different configurations. The authors had a choice between
building a statically vs. dynamically configured cluster. They chose to
go with a dynamic load balancing cluster because they believe that it
more scalable in the long term and more manageable.
The architecture of the system is designed as the porcupine service
running on each cluster node with different managers running as threads
in the main process. The key thing about the architecture is that there
is a decoupling between the mail delivery/retrieval and the user profile
management. The paper explained the system architecture quite well
though it is a fairly complex system.
To provide better availability and faster failure recovery the system
does not very restrictive consistency requirements.
The synthetic workloads demonstrate that the objectives of linear
scalability, dynamic re-configuration and availability were met. The
disk I/O and network bandwidth were found to the bottle-neck in 2
different tests.
This archive was generated by hypermail 2.1.6 : Wed Feb 25 2004 - 13:03:23 PST