CassMail: A Scalable, Highly-Available, and Rapidly-Prototyped E-Mail Service

  • Lazaros Koromilas
  • Kostas Magoutis
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6723)

Abstract

In this paper we present the design and implementation of a scalable e-mail service over the Cassandra eventually-consistent storage system. Our system provides a working implementation of the SMTP and POP3 protocols and our evaluation shows that the system exhibits scalable performance, high availability, and is easily manageable under write-intensive e-mail workloads. The design and implementation of our system is centered around a synthesis of interoperable components for rapid prototyping and deployment. Besides offering a proof of concept of such an approach to prototyping distributed applications, we further make two key contributions in this paper: First, we provide a detailed evaluation of the configuration and tuning of the underlying storage engine necessary to achieve scalable application performance. Second, we show that the availability of scalable storage systems such as Cassandra simplifies the design and implementation of higher-level scalable services, especially when compared to the effort expended in projects with similar goals in the past (e.g., Porcupine). We believe that the existence of infrastructural services such as Cassandra brings us closer to the vision of a universal toolbox for rapidly prototyping arbitrary scalable services.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Armbrust, M., et al.: Above the Clouds: A Berkeley View of Cloud Computing. Technical Report UCB/EECS-2009-28, UC, Berkeley (February 2009)Google Scholar
  2. 2.
    Chang, F., Dean, J., Ghemawat, S., Hsieh, W.C., Wallach, D.A., Burrows, M., Chandra, T., Fikes, A., Gruber, R.E.: Bigtable: A Distributed Storage System for Structured Data. ACM Transactions on Computer Systems (TOCS) 26(2), 1–26 (2008)CrossRefGoogle Scholar
  3. 3.
    Christenson, N., Bosserman, T., Beckemeyer, D.: A Highly Scalable Electronic Mail Service using Open Systems. In: Proc. of the USENIX Symposium on Internet Technologies and Systems, Monterey, CA (1997)Google Scholar
  4. 4.
    Ducheneaut, N., Bellotti, V.: E-mail as habitat: an exploration of embedded personal information management. ACM Interactions 8(5), 30–38 (2001)CrossRefGoogle Scholar
  5. 5.
    Elson, J., Howell, J.: Handling Flash Crowds from your Garage. In: USENIX 2008 Annual Technical Conference, Boston, MA (2008)Google Scholar
  6. 6.
    Ghemawat, S., Gobioff, H., Leung, S.T.: The Google File System. ACM SIGOPS Operating Systems Review 37(5), 29–43 (2003)CrossRefGoogle Scholar
  7. 7.
    Gribble, S., Brewer, E., Hellerstein, J., Culler, D.: Scalable, Distributed Data Structures for Internet Service Construction. In: Proc. of 4th Conference on Operating System Design & Implementation, San Diego, CA (2000)Google Scholar
  8. 8.
    Hastorun, D., et al.: Dynamo: Amazon’s Highly Available Key-Value Store. In: Proc. of Symposium on Operating Systems Principles, Stevenson, WA (2007)Google Scholar
  9. 9.
    Lakshman, A., Malik, P.: Cassandra: a Decentralized Structured Storage System. ACM SIGOPS Operating Systems Review 44(2), 35–40 (2010)CrossRefGoogle Scholar
  10. 10.
    McCormick, J., Murphy, N., Najork, M., Thekkath, C.A., Zhou, L.: Boxwood: Abstractions as the Foundation for Storage Infrastructure. In: Proc. of Conference on Operating Systems Design & Implementation, San Francisco, CA (2004)Google Scholar
  11. 11.
    Papadimitriou, C.H.: The serializability of concurrent database updates. J. ACM 26, 631–653 (1979)MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    Saito, Y., Bershad, B.N., Levy, H.M.: Manageability, Availability, and Performance in Porcupine: A Highly Scalable, Cluster-based Mail Service. ACM Transactions on Computer Systems (TOCS) 18(3), 298 (2000)CrossRefGoogle Scholar
  13. 13.
    Shvachko, K., et al.: The Hadoop Distributed File System. In: Proc. of IEEE Conf. on Mass Storage Systems and Technologies, Lake Tahoe, NV (2010)Google Scholar
  14. 14.
    Thekkath, C., Mann, T., Lee, E.: Frangipani: a Scalable Distributed File System. In: Proc. of the 16th ACM Symposium on Operating Systems Principles, Saint Malo, France (1997)Google Scholar
  15. 15.
    Vogels, W.: Eventually Consistent. ACM Queue Magazine (December 2008)Google Scholar
  16. 16.
    Vogels, W., Dumitriu, D., Agrawal, A., Chia, T., Guo, K.: Scalability of the Microsoft Cluster Service. In: Proc. of 2nd USENIX Windows NT Symposium, Seattle, WA (1998)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2011

Authors and Affiliations

  • Lazaros Koromilas
    • 1
  • Kostas Magoutis
    • 1
  1. 1.Institute of Computer Science (ICS)Foundation for Research and Technology Hellas (FORTH)HeraklionGreece

Personalised recommendations