Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2145816.2145829acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

S: a scripting language for high-performance RESTful web services

Published: 25 February 2012 Publication History

Abstract

There is an urgent need for novel programming abstractions to leverage the parallelism in modern multicore machines. We introduce S, a new domain-specific language targeting the server-side scripting of high-performance RESTful Web services. S promotes an innovative programming model based on explicit (control-flow) and implicit (process-level) parallelism control, allowing the service developer to specify which portions of the control-flow should be executed in parallel. For each service, the choice of the best level of parallelism is left to the runtime system. We assess performance and scalability by implementing two non-trivial composite Web services in S. Experiments show that S-based Web services can handle thousands of concurrent client requests on a modern multicore machine.

References

[1]
HTTP protocol specification. URL http://www.w3.org/Protocols/rfc2616/rfc2616.html.
[2]
G. Agha. Actors: a model of concurrent computation in distributed systems. MIT Press, Cambridge, MA, USA, 1986.
[3]
J. Aldrich, J. Sunshine, D. Saini, and Z. Sparks. Typestate-oriented programming. In Proc. of OOPSLA, pages 1015--1022, 2009.
[4]
J. Aldrich, R. Garcia, M. Hahnenberg, M. Mohr, K. Naden, D. Saini, S. Stork, J. Sunshine, E. Tanter, and R. Wolff. Permission-based programming languages: Nier track. In Proc. of ICSE, pages 828--831, 2011.
[5]
E. D. Berger, T. Yang, T. Liu, and G. Novark. Grace: safe multithreaded programming for C/C++. In Proc. of OOPSLA, pages 81--96, 2009.
[6]
C. Boyapati, R. Lee, and M. Rinard. Ownership types for safe programming: preventing data races and deadlocks. In Proc. of OOPSLA, pages 211--230, 2002.
[7]
L. Dagum and R. Menon. Openmp: An industry-standard api for shared-memory programming. IEEE Comput. Sci. Eng., 5: 46--55, January 1998.
[8]
C. Elliott and P. Hudak. Functional reactive animation. In Proc. of ICFP, pages 263--273, 1997.
[9]
A. Fettig and G. Lefkowitz. Twisted network programming essentials. O'Reilly, 2005.
[10]
R. T. Fielding. Architectural Styles and the Design of Network-based Software Architectures. PhD thesis, University of California, Irvine, 2000.
[11]
E. Fortuna, O. Anderson, L. Ceze, and S. Eggers. A limit study of JavaScript parallelism. In Proc. of IISWC, pages 1--10, 2010.
[12]
P. Haller and M. Odersky. Scala actors: Unifying thread-based and event-based programming. Theor. Comput. Sci., 410: 202--220, February 2009.
[13]
I. Hickson. Web workers. World Wide Web Consortium, Working Draft WD-workers-20110310, March 2011.
[14]
J. Hogg. Islands: aliasing protection in object-oriented languages. In Proc. of OOPSLA, pages 271--285, 1991.
[15]
J. C. Jenista, Y. h. Eom, and B. C. Demsky. OoOJava: software out-of-order execution. In Proc. of PPoPP, pages 57--68, 2011.
[16]
L. A. Meyerovich, A. Guha, J. Baskin, G. H. Cooper, M. Greenberg, A. Bromfield, and S. Krishnamurthi. Flapjax: a programming language for ajax applications. In Proc. of OOPSLA, pages 1--20, 2009.
[17]
K. Ostrowski, C. Sakoda, and K. Birman. Self-replicating objects for multicore platforms. In Proc. of ECOOP, pages 452--477, 2010.
[18]
K. H. Randall. Cilk: efficient multithreaded computing. PhD thesis, 1998.
[19]
S. Tilkov and S. Vinoski. Node.js: Using JavaScript to build high-performance network programs. IEEE Internet Computing, 14: 80--83, November 2010.
[20]
R. Virding, C. Wikström, and M. Williams. Concurrent programming in ERLANG (2nd ed.). Prentice Hall International (UK) Ltd., 1996.
[21]
C. von Praun, L. Ceze, and C. Caşcaval. Implicit parallelism with ordered transactions. In Proc. of PPoPP, pages 79--89, 2007.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PPoPP '12: Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
February 2012
352 pages
ISBN:9781450311601
DOI:10.1145/2145816
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 47, Issue 8
    PPOPP '12
    August 2012
    334 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2370036
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 February 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. multicores
  2. restful web services
  3. scalable service execution

Qualifiers

  • Research-article

Conference

PPoPP '12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 230 of 1,014 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)1
Reflects downloads up to 19 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2016)Process-aware web programming with JolieScience of Computer Programming10.1016/j.scico.2016.05.002130:C(69-96)Online publication date: 15-Nov-2016
  • (2016)Technologies for Web and cloud service interactionService Oriented Computing and Applications10.1007/s11761-015-0174-110:2(71-110)Online publication date: 1-Jun-2016
  • (2013)TigerQuollACM SIGPLAN Notices10.1145/2517327.244254148:8(251-260)Online publication date: 23-Feb-2013
  • (2013)Data-FuProceedings of the 22nd international conference on World Wide Web10.1145/2488388.2488495(1225-1236)Online publication date: 13-May-2013
  • (2013)TigerQuollProceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming10.1145/2442516.2442541(251-260)Online publication date: 23-Feb-2013
  • (2016)Modeling Parallel Execution Policies of Web ServicesCloud Computing10.1007/978-3-319-38904-2_25(244-254)Online publication date: 6-May-2016
  • (2016)Medley: An Event-Driven Lightweight Platform for Service CompositionWeb Engineering10.1007/978-3-319-38791-8_1(3-20)Online publication date: 25-May-2016
  • (2015)Modeling the Speedup for Scalable Web ServicesICT Innovations 201410.1007/978-3-319-09879-1_18(177-186)Online publication date: 2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media