Skip to main content

Transformation-Based Parallelization of Request-Processing Applications

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6395))

Abstract

Multicore, multithreaded processors are rapidly becoming the platform of choice for high-throughput request-processing applications (RPAs). We refer to this class of modern parallel platforms as multi- systems. In this paper, we describe the design and implementation of Lagniappe, a translator that simplifies RPA development by transforming portable models of RPAs to high-throughput multi-⋆ executables. We demonstrate Lagniappe’s effectiveness with a pair of stateful RPA case studies.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Chen, B., Morris, R.: Flexible Control of Parallelism in a Multiprocessor PC Router. In: USENIX Annual Technical Conference, pp. 333–346. USENIX (2001)

    Google Scholar 

  2. Chen, M.K., Li, X.F., Lian, R., Lin, J.H., Liu, L., Liu, T., Ju, R.: Shangri-La: Achieving High Performance from Compiled Network Applications while Enabling Ease of Programming. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 224–236. ACM, New York (2005)

    Google Scholar 

  3. Clement, A., Kapritsos, M., Lee, S., Wang, Y., Alvisi, L., Dahlin, M., Riché, T.L.: Upright Cluster Services. In: ACM SIGOPS Symposium on Operating Systems Principles, pp. 277–290. ACM, New York (2009)

    Chapter  Google Scholar 

  4. Microsoft directshow, http://msdn.microsoft.com/en-us/library/ms783323.aspx

  5. Emma, P.: The End of Scaling? Revolutions in Technology and Microarchitecture As We Pass the 90 Nanometer Node. SIGARCH Computer Architecture News 34(2), 128 (2006)

    Article  Google Scholar 

  6. Estan, C., Varghese, G.: New Directions in Traffic Measurement and Accounting: Focusing on the Elephants, Ignoring the Mice. ACM Transactions on Computer Systems 21(3), 270–313 (2003)

    Article  Google Scholar 

  7. Estan, C., Varghese, G., Fisk, M.: Bitmap Algorithms for Counting Active Flows on High-Speed Links. IEEE/ACM Transactions on Networking 14(5), 925–937 (2006)

    Article  Google Scholar 

  8. Francois, A.R.J.: A Hybrid Architectural Style for Distributed Parallel Processing of Generic Data Streams. In: International Conference on Software Engineering, pp. 367–376. IEEE Computer Society, Los Alamitos (2004)

    Chapter  Google Scholar 

  9. Gay, D., Levis, P., von Behren, R., Welsh, M., Brewer, E., Culler, D.: The nesC Language: A Holistic Approach to Networked Embedded Systems. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 1–11. ACM, New York (2003)

    Google Scholar 

  10. Gorlick, M.M., Razouk, R.R.: Using Weaves for Software Construction and Analysis. In: International Conference on Software Engineering, pp. 23–34. IEEE Press, Los Alamitos (1991)

    Google Scholar 

  11. Gummaraju, J., Coburn, J., Turner, Y., Rosenblum, M.: Streamware: Programming General-Purpose Multicore Processors Using Streams. In: International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 297–307. ACM, New York (2008)

    Google Scholar 

  12. Hadoop, http://hadoop.apache.org/core/

  13. Johnston, W.M., Hanna, J.R.P., Millar, R.J.: Advances in Dataflow Programming Languages. ACM Computing Surveys 36(1), 1–34 (2004)

    Article  Google Scholar 

  14. Kohler, E., Morris, R., Chen, B., Jannotti, J., Kaashoek, M.F.: The Click Modular Router. ACM Transactions on Computer Systems 18(3), 263–297 (2000)

    Article  Google Scholar 

  15. Kokku, R., Riché, T.L., Kunze, A., Mudigonda, J., Jason, J., Vin, H.M.: A Case for Run-Time Adaptation in Packet Processing Systems. SIGCOMM Computer Communication Review 34(1), 107–112 (2004)

    Article  Google Scholar 

  16. Kokku, R., Shevade, U., Shah, N., Mahimkar, A., Cho, T., Vin, H.: Processor Scheduler for Multi-Service Routers. In: IEEE International Real-Time Systems Symposium, pp. 225–235. IEEE Computer Society Press, Los Alamitos (2006)

    Google Scholar 

  17. Mudigonda, J.: Addressing the Memory Bottleneck in Packet Processing Systems. Ph.D. thesis, The University of Texas at Austin (2005)

    Google Scholar 

  18. National Instruments LabView, http://www.ni.com/labview/

  19. Papadopoulos, G.A., Arbab, F.: Coordination Models and Languages. In: Advances in Computers, pp. 329–400. Academic Press, London (1998)

    Google Scholar 

  20. Riché, T.L., Mudigonda, J., Vin, H.M.: Experimental Evaluation of Load Balancers in Packet Processing Systems. In: Workshop on Building Block Engine Architectures for Computers and Networks, Boston, MA (October 2004)

    Google Scholar 

  21. Riché, T.L., Vin, H.M., Batory, D.: Transformation-Based Parallelization of Request-Processing Applications. Tech. Rep. TR-10-16, Department of Computer Science, The University of Texas at Austin (2010)

    Google Scholar 

  22. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  23. Sztipanovits, J., Karsai, G., Bapty, T.: Self-Adaptive Software for Signal Processing. Communications of the ACM 41(5), 66–73 (1998)

    Article  Google Scholar 

  24. Thies, W.: Lang. and Compiler Support for Stream Programs. Ph.D. thesis, MIT (February 2009)

    Google Scholar 

  25. Data parallelism, http://en.wikipedia.org/wiki/Data_parallelism

  26. Task parallelism, http://en.wikipedia.org/wiki/Task_parallelism

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Riché, T.L., Vin, H.M., Batory, D. (2010). Transformation-Based Parallelization of Request-Processing Applications. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds) Model Driven Engineering Languages and Systems. MODELS 2010. Lecture Notes in Computer Science, vol 6395. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16129-2_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-16129-2_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-16128-5

  • Online ISBN: 978-3-642-16129-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics