O'Reilly Open Source Convention
Books Safari Bookshelf Conferences O'Reilly Network

Arrow Home
Arrow Registration
Arrow Speakers
Arrow Keynotes
Arrow Tutorials
Arrow Sessions
Arrow At-a-Glance
Arrow Wiki
Arrow BOFs
Arrow Events
Arrow Exhibitors
Arrow Sponsors
Arrow Hotel/Travel
Arrow Venue Map
Arrow See & Do
Arrow Tips for
Arrow Press
Arrow Mail List



Parallel Sessions in Perl
Uri Guttman, Software Architect, Stem Systems

Track: Perl
Date: Wednesday, July 28
Time: 5:20pm - 6:05pm
Location: Salon B


This talk covers the tough problem of how complex applications can handle multiple sessions in parallel. It is even tougher when those sessions have to do other remote operations such as querying other servers. Middleware systems, such as those between a webserver and the backend database, commonly show this design problem. In order for middleware to support remote calls, each session must save control state so it can continue from that point when the remote call comes back. This is in addition to tracking the state information about the original incoming request that initiated this session. Another hurdle is when each session's remote requests can be done in parallel (e.g. the requests are asynchronous).

This talk will cover several different ways to implement such sessions in Perl. The techniques covered include threads, pre-spawned threads, forked processes, event loop, co-routines and Stem. Each of these will be explored and explained with working code, and their pros and cons will be discussed. Some of the solutions will have a variant, which supports parallel asynchronous remote requests. Benchmarks comparing their efficiency will also be shown. The goal of this talk is to show a range of solutions for this complex problem so that you can learn about new techniques and better decide which way best suits your development needs and skills.

O'Reilly Home | Privacy Policy

© 2004, O'Reilly Media, Inc.