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.
- Alek Rollyson (al3k)
- Lee Aylward (leedo)
- Olaf Alders (oalders)
- Justin Hunter (arcanez)
- Julie Eberhart
- Michael Lambert
- Shawn Moore (sartak)
- Sinan Unur
- Max Shughart (Maxdash McSlam)
- Devin Austin (dhoss)
- Joe Kline (gizmo)
- Wes Malone (wesm)
- Jon Miner (miner)
- Victor Stevko
- Alex Timoshenko
- Petar Puskarich
- bryan abfalter
- Doug Bell (preaction)
- Jason Coble
- Michael Moser
- Kevin Shaum
- Charles Phillips
- Tatsuhiko Miyagawa (miyagawa)
- Mark Jubenville (ioncache)