No photo
By Scott Walters (‎scrottie‎) from phoenix.pm
Date: Tuesday, 22 June 2010 13:00
Duration: 20 minutes
Target audience: Intermediate
Language: English
Tags: coroutine plack scaling web

Writing Crazy Fast Web Apps with Continuity, Plack, and a Homemade Supercomputer


Plack, Continuity, Corona, Twiggy and company bring high performance and high level abstraction to Perl web serving. This talk explores these new wave technologies and then goes on to investigate suitably futuristic ways of scaling pre-forked and coroutine based web serving environments, especially looking at technologies from supercomputing: globally shared memory
systems and single system image clusters, and what Perl and CPAN have to offer to take advantage of these systems. While it's possible to write distributed applications that run on a
bank of disparate computers, doing so bloats code, takes time, and is generally less optimal.
Memcached, database sharding, SOAP API loadbalancing and map/reduce are poor abstractions for most applications, but in the name of speed, these are routinely specified for new designs. On the other hand, abstractions taken from supercomputing offer a far better environment to program Perl web apps in. High energy laboratories, oil exploration companies, financial services companies, meteorology research centers and a host of other institutions have long enjoyed programming extremely large computers with terabytes of RAM and thousands of processors. Cray/SGI pioneered a lot of the technology to scale computers to dozens, hundreds, and then thousands of processors -- and donated the technology to Linux as Free Software. The current largest, fastest computer in the world is a Linux machine. Various ideas of clustering are touched upon, but "single system image" and "global shared memory" systems provide the most fun abstractions to program on. This talk tries to be both interesting and immediately applicable -- you can replicate these experiments in your own engineering department.

Attended by: