Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How do you scale a prolog web app once it is growing beyond 1 box?

46 views
Skip to first unread message

polymorph self

unread,
Mar 20, 2017, 2:58:06 AM3/20/17
to
how how how?

kint...@gmail.com

unread,
Apr 12, 2017, 11:15:23 AM4/12/17
to

IDIOT > how how how?

ME > ast mst cst ?

~~ kintalken ~~

kint...@gmail.com

unread,
Apr 12, 2017, 11:17:57 AM4/12/17
to
On Wednesday, April 12, 2017 at 8:15:23 AM UTC-7, kint...@gmail.com wrote:
> IDIOT > how how how?
>
> ME > ast mst cst ?

IDIOT > how how how ?
ME > what what what ?
IDIOT > how how how ?
ME > YOU : verb verb verb
ME > ME : noun verb noun

~~ kintalken ~~

polymorph self

unread,
Jun 20, 2017, 10:50:59 AM6/20/17
to
ast? What is that?

j4n bur53

unread,
Jun 22, 2017, 8:53:34 AM6/22/17
to

The Datacenter as a Computer
http://www.morganclaypool.com/doi/abs/10.2200/S00516ED2V01Y201306CAC024

Web Search for a Planet: The Google Cluster Architecture
https://research.google.com/archive/googlecluster.html


polymorph self schrieb:
> how how how?
>

polymorph self

unread,
Jun 22, 2017, 11:36:52 AM6/22/17
to
Well load balancing has existed for a long time.
But the database.....how do you scale that?
www.hypertable.org
spark.apache.org
www.prevayler.org (but no 100 node )

My question is can prolog spread its data among 100+ nodes and a query from 1 node come back 100times faster?

Raid 10 sas is fastest write speed, because ssd so costly, so this gets into economic calculation.
I read google doesn't touch disk for many things....
Factoring is what forth says to do....
I remember having a desktop with netscape and gui file manager running windoes 3 and 4megs of ram was all the ram the box had. Os and apps ran in 4meg ram!

burs...@gmail.com

unread,
Jun 22, 2017, 12:02:32 PM6/22/17
to
Prolog doesn't care!

Read this, it shows how data will be organized:
You can download the PDF Plus (5758 KB),
See Figure 1.3: Storage hierarchy of a WSC.
Figure 1.4: Latency, bandwidth, and capacity of a WSC.

The above is the hardware aspect. The software aspect depends
on the application. They give one example, what could it be
else for Google, than its own search:
See 2.5.2 ONLINE: WEB SEARCH

But anyway I guess the usual tricks for data distribution work.
Vertical and/or horizontal partitioning of the data.
I am a little rusty, only have an old book in my shelf:

Principles of Distributed Database Systems
M. Tamer Ozsu and Patrick Valduriez,
see Section 5. Distributed Database Design,
5.3 Fragmentation, to get the idea.
http://www.springer.com/de/book/9781441988331

Maybe some products do it automatically now, dunno.
The links hypertable.org spark.apache.org and
prevayler.org look rather shitty to me. Bla bla
we are the fastest, in what? Crashing the DB?

I must admit, I am more fan of Michael Stonebraker
and his PostgresSQL, what does the StormDB fork do?
http://www.postgres-xl.org/

burs...@gmail.com

unread,
Jun 22, 2017, 12:18:13 PM6/22/17
to
Prolog doesn't care! because it doesn't define
any persistency layer. Do you find anything like
that in the ISO core standard? No!

Already SWI-Prologs Web Server is nowhere in the
ISO core standard. Thats all arbitrary extras.
So Prolog doesn't care.

If your Prolog has setup_call_cleanup/3 not so
much can go wrong. This is somehow a quasy standard,
not exactly found in the ISO core, but there is a draft:
https://www.complang.tuwien.ac.at/ulrich/iso-prolog/cleanup

It turns out that for multi-processing, a little
bit more control is need. See for example the latest
releases of SWI-Prolog, there is still some fixing going

on, with memory, interrupts, etc.. more standard material
would be very interesting. Like some definition on how
exception injection from one thread to another thread should work.

There are olds quasy standard documents from the time of
Paulo Moura, about threads etc.. But looks a little bit that
the stuff is still slightly evolving.

burs...@gmail.com

unread,
Jun 22, 2017, 12:34:41 PM6/22/17
to
In my eyes it is a strange cobweb between queues and
threads. Partly simply close to what unix offers as
primitives. And there is not much variety in the mutexes:

Draft ISO/IEC DTR 13211{5:2007 Prolog multi-threading support
Editor: Paulo Moura pmo...@di.ubi.pt October 28, 2008
http://logtalk.org/plstd/threads.pdf

When I tried the same, I got much more varienty
into the primitives, and all of them are without an
alias table. I only retain alias tables for streams
since the ISO core standard has them.

https://github.com/jburse/jekejeke-devel/tree/master/utils/headless/matula/util/misc

https://github.com/jburse/jekejeke-devel/tree/master/jekrun/headless/jekpro/frequent/system

This was like 6-10 months ago, so no effort was made to
be compatible respective portable with SWI-Prolog in the
threads domain so far. If some standard would pop-up maybe
situation would change.

Dunno what other Prolog systems offer as thread primitives.
You can check here. The characteristic whether the Prolog system
at all has threads was delegated to a separate section:

https://en.wikipedia.org/wiki/Comparison_of_Prolog_implementations#Operating_system_and_Web-related_features
0 new messages