caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Thomas Fischbacher <tf@functionality.de>
To: skaller <skaller@users.sourceforge.net>
Cc: Richard Jones <rich@annexia.org>,
	Oliver Bandel <oliver@first.in-berlin.de>,
	Caml-list List <caml-list@inria.fr>
Subject: Re: [Caml-list] If OCaml were a car
Date: Wed, 22 Aug 2007 12:33:45 +0100	[thread overview]
Message-ID: <46CC1F19.9020409@functionality.de> (raw)
In-Reply-To: <1187750976.9072.39.camel@rosella.wigram>


John Skaller wrote:

>>This might come back and bite you in a couple of years you've got 16-
>>and 32-core processors and you find your parallel GC / operating
>>system really don't scale.
> 
> Wrong approach IMHO. There are physical limits on localisation:
> the speed of light and Heisenberg's constant. We know from
> simple observation of organic systems, that systems clump
> at various levels.

If one look e.g. at the distribution function of something like
the size of debian packages, one will find that it follows a power
law (dN/N(size) ~ a*size^b) remarkably well over multiple orders of
magnitude. Similar distributions can be observed for many systems.

There are deep fundamental reasons that tell us that we should expect
something like this on very general grounds whenever three things
come together:

(1) We have "frustration" in the system in the sense that there are
multiple stable configurations, and lots of them.

(2) The system's constituents are linked up in such a way that reducing
the "internal stress" in one place increases the internal stress in its
neighbourhood, and

(3) The individual components are networked in an effectively
more-than-one-dimensional way. (So, the number of nodes reached
increases with the number of hops.)

These are very general properties that come together in many different
systems. Now, in 1987 a bunch of theoretical physicists (Bak, Tang, and
Weisenfeld) had a deep insight that whenever this happens, then all the
interesting distributions one can derive from such a system should
turn out to follow power-law behaviour. (The key idea is to look at the
weakest condition that gives stability, which will determine the
system's structure, as every stronger condition would constrain
configuration space too much.)

In essence, Perl did two things right: (1) It properly acknowledged that
most problems are small problems that should be resolvable as a one-line
job (unlike C++ which believes all problems to be huge tasks - if they
are not, they first have to be turned into one so that one then can use
C++ to solve them), and (2) it also acknowledged that human language is
irregular in some funny but far from chaotic way, and tried to mimick
some of that irregularity in order to make programming more natural and
hence less tiring.

Quite in general, what deeply worries me (in programming as well as in
a much broader context concerning how our present-day society works)
is that we do not pay proper respect to these fundamental mechanisms
that always cause activity on a variety of different scales. When
making decisions, our reasoning all too often starts out from
false assumptions on scale distributions of system sizes. In
particular, we often design our systems based on assumptions of
extreme scales (say, extreme centralization or extreme
decentralization) rather than "reasonable assumptions about
natural distributions". That is fundamentally wrong, and
Thermodynamics/statistical mechanics can even prove this. :-)

-- 
best regards,
Thomas Fischbacher
tf@functionality.de


  reply	other threads:[~2007-08-22 11:33 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-18 19:21 Richard Jones
2007-08-18 20:24 ` [Caml-list] " Jeff Meister
2007-08-18 21:32   ` Michael Vanier
2007-08-19 11:50     ` Daniel Bünzli
2007-08-19 11:59       ` Erik de Castro Lopo
2007-08-22  5:50         ` Luca de Alfaro
2007-08-22  8:13           ` Jon Harrop
2007-08-22  9:20             ` Jacques Garrigue
2007-08-24  2:54           ` Nathaniel Gray
2007-08-25 19:45             ` Oliver Bandel
2007-08-19 14:43       ` John Carr
2007-08-19 16:22         ` brogoff
2007-08-19 17:07         ` Richard Jones
2007-08-19 17:19           ` Stefano Zacchiroli
2007-08-22  6:04             ` Luca de Alfaro
2007-08-19 20:51           ` Vincent Hanquez
2007-08-21  8:05           ` David Allsopp
2007-08-21 18:33             ` Richard Jones
2007-08-19 20:30         ` Tom
2007-08-19 21:45           ` skaller
2007-08-20  3:37             ` Jon Harrop
2007-08-20  6:26               ` skaller
2007-08-20 10:00                 ` Joerg van den Hoff
2007-08-21 12:03                   ` Florian Hars
2007-08-20  6:54               ` skaller
2007-08-20 19:54       ` Oliver Bandel
2007-08-20 20:27         ` David Allsopp
2007-08-20 20:50           ` Ulf Wiger (TN/EAB)
2007-08-21 10:56             ` Joerg van den Hoff
2007-08-20 21:13           ` Oliver Bandel
2007-08-21  0:47         ` skaller
2007-08-21  9:51           ` Oliver Bandel
2007-08-21 10:30             ` skaller
2007-08-21 18:57               ` Richard Jones
2007-08-22  2:49                 ` skaller
2007-08-22 11:33                   ` Thomas Fischbacher [this message]
2007-08-21 14:46             ` Business Adoption of Ocaml [was Re: [Caml-list] If OCaml were a car] Robert Fischer
2007-08-21 15:09               ` Brian Hurt
2007-08-21 15:48           ` [Caml-list] If OCaml were a car brogoff
2007-08-19 18:15 [caml-list] " Mike Lin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46CC1F19.9020409@functionality.de \
    --to=tf@functionality.de \
    --cc=caml-list@inria.fr \
    --cc=oliver@first.in-berlin.de \
    --cc=rich@annexia.org \
    --cc=skaller@users.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).