Jay, I agree. This would be a good starting point, so others can find it too.
On Jan 19, 2012, at 2:02 PM, John Clements wrote:
> I think the below would make a good PLT blog post, perhaps with an opening
> paragraph about how much cheaper the stateless web-server can be.
>
> John
>
>
> On
I think the below would make a good PLT blog post, perhaps with an opening
paragraph about how much cheaper the stateless web-server can be.
John
On Jan 3, 2012, at 10:33 PM, Galler wrote:
>
>
> On the subject of porting #lang racket to #lang web-server code
>
> I provide a few lessons le
On the subject of porting #lang racket to #lang web-server code
I provide a few lessons learned for the archives for the next person to
attempt this.
1) Bindings, Serializability , and anonymous functions
1A) the predicate serializable? from racket/serializable is invaluable
#lang web-se
Jay McCarthy wrote at 01/01/2012 04:34 PM:
On Sat, 31 Dec 2011 18:37:03 -0500,Neil Van Dyke mumbled:
Maybe some student wants to see whether any big wins can be gotten for
keeping continuations in addressable virtual memory, if they can tweak
the app, Racket compiler, Racket VM and GC, Rack
On Sat, 31 Dec 2011 20:03:02 -0600,Robby Findler
mumbled:
> I'm not sure if the web-server supports continuation marks or not
The stateless transformation does support continuation marks, provided
the keys and values are serializable. (Parameters/exception handlers are not
supported because the
On Sat, 31 Dec 2011 18:37:03 -0500,Neil Van Dyke mumbled:
> Maybe some student wants to see whether any big wins can be gotten for
> keeping continuations in addressable virtual memory, if they can tweak
> the app, Racket compiler, Racket VM and GC, Racket Web Server, and Linux.
Emery Berger h
Nice!
(as you can tell, I didn't see that when I wrote my first reply to you)
Robby
On Sat, Dec 31, 2011 at 9:22 PM, Galler wrote:
> Section five
>
> "Although the continuation-marks procedure has been a part of PLT Scheme for
> years, we have not yet found a use for it"
>
> I think we've f
Section five
"Although the continuation-marks procedure has been a part of PLT Scheme
for years, we have not yet found a use for it"
I think we've found a use for it.
Robby,
Section 5 of your paper notes the function (continuation-marks cont)
provides the continuation marks of an arbit
Robby,
Section 5 of your paper notes the function (continuation-marks cont)
provides the continuation marks of an arbitrary continuation at time of
reification.
Illustrative code snippet below
That certainly takes care of a lot of the problems associated with
implementing a solution to chai
FWIW, this is essentially re-implementing dynamic-wind (but it is not
too difficult if you are familiar with continuations). One thing to
watch out for: the lists of continuation marks will, in some cases,
share a tail. In that case you'll want to avoid exiting and
re-entering the same things. Also
Robby,
Thanks
Not at all opaque. I was experimenting with that earlier this afternoon,
as below.
Actuallly, the way you phrased it helps clarify something I was struggle
with.
A very useful and valuable suggestion. I think that may very well be
plan B.
R./
Zack
(define (nextproc)
;n
I'm not sure if the web-server supports continuation marks or not, but
if it does, you could use continuation marks to note what the exit and
entry operations are, and then when you would do a continuation jump,
first grab the continuation marks from one side, do the jump, grab the
continuation mar
Sorry, should have included a brief example.
Here's an example of what I've implemented, which is just Harel's
hierarchical state machines
You can create a Hierarchical State Machine by defining individual nodes
in a flat file, as below.
each node has 6 keyword parameters , state, parent, e
Shiri,
While AJAX and client-side continuations enable significant client-side
computational complexity, I think they complement vs. eliminate the need
for server-side complexity.
I'm in pursuit of both (1) server complexity and (2) server-side
statelessness
I could achieve (1) by giving
Shriram Krishnamurthi wrote at 12/31/2011 05:33 PM:
That's a fine position in theory, but I doubt it works well in
practice even today. When Jay talks about 3-4 GB, he doesn't mean
over the course of a conference -- that could sometimes add up in just
a few hours. No amount of cheap RAM is goin
That's a fine position in theory, but I doubt it works well in
practice even today. When Jay talks about 3-4 GB, he doesn't mean
over the course of a conference -- that could sometimes add up in just
a few hours. No amount of cheap RAM is going to combat that.
But, as I said, in an Ajax world th
Regarding paging... The only three situations in which I consider paging
acceptable nowadays on workstations and servers, when a handful of
dollars buys you a few GB RAM:
1. For resilience in exceptional/emergency situations, when the
alternative would be an OOM kill or a crash.
2. When an a
On Fri, Dec 30, 2011 at 2:54 PM, Noel Welsh wrote:
> On Tue, Dec 27, 2011 at 9:26 PM, Galler wrote:
>> I note that no one has discussed throwing a significant amount of physical
>> memory at the problem.
>>
>> Empirically, is that because garbage-collection of a large heap creates its
>> own perf
Jay,
Thanks very much for the answer.
My current thinking is that the dynamic-wind described on page 17 of Friedman's
Constraining Control may provide enough of dynamic-wind's functionality for my
needs.
It doesn't appear to have any of the forbidden constructs* of the web-server
language.
and
There's no way I know of that will support dynamic-wind. In the case
of with-handlers, the problem is that with-handlers compiles to a use
of with-continuation-mark that the transformation supports, but uses a
mark key that is not serializable. In principle, dynamic-wind could
have been implemente
BTW, when I say "load-balancing" here, I don't mean only between
physical hosts or virtual hosts, but also among processes on the same
multi-CPU/core physical machine.
If you are running dedicated server hardware, and you're CPU-bound, each
CPU/core can service a separately-GC'd server process
Noel Welsh wrote at 12/30/2011 02:54 PM:
Yes, GC pauses get annoying when the heap gets large. This can lead to
timeouts on the client side.
FWIW, we've talked in the past about GC and Web serving in general (not
specific to the Racket Web Server; I was thinking of my SCGI library at
the
On Tue, Dec 27, 2011 at 9:26 PM, Galler wrote:
> I note that no one has discussed throwing a significant amount of physical
> memory at the problem.
>
> Empirically, is that because garbage-collection of a large heap creates its
> own performance problems?
Yes, GC pauses get annoying when the hea
FYI, C-level implementation appears to be in src\fun.c, line 7722 as
*scheme_dynamic_wind
Jay,
->dynamic-wind issue
--
The short answer is the code I'm working on is an implementation of
Harel's hierarchical state machine formalism.
I hesitate to provide a long ans
Jay,
->dynamic-wind issue
--
The short answer is the code I'm working on is an implementation of
Harel's hierarchical state machine formalism.
I hesitate to provide a long answer as I fear it would be an imposition
on your time and goodwill. Though I'm happy to provid
On Tue, Dec 27, 2011 at 2:26 PM, Galler wrote:
> I'm nearing completion of a web application with stateful server
> continuations, and am thinking about future scalability.
>
> If we limit the discussion to the specific problem of retention of
> server-side continuations in gc'd memory (and not to
I'm nearing completion of a web application with stateful server
continuations, and am thinking about future scalability.
If we limit the discussion to the specific problem of retention of
server-side continuations in gc'd memory (and not to whether
server-side continuations are of value)
I
27 matches
Mail list logo